The business directory, as an API
Search businesses in plain words or by trade and town, and read each one's facts as the company publishes them on its own website, updated regularly. 1,000 search and basic calls are free, once, for your company.
Choose what you read
-
Search
Find businesses by words, trade, town, language or facts. Each result is an id, a name, a category and a town, up to 20 results a call.
EUR4.00per 1,0008.00per 1,000, USD 105
-
Basic
Contact only: name, category, address, town, country, coordinates, phone, website, logo and social links.
EUR2.50per 1,000 -
ProfileRecommended
More about the company: the basic data and its services, specialties, products, about, founded, languages and areas.
EUR6.50per 1,000 -
Full
With technical details: the profile data and the technology of its website.
EUR10.00per 1,000
Launch offer Every price above is 50 percent off the list price, struck through.
Each level includes the one before it. A business that has nothing at the level you ask for is billed at the highest level it can fill. The first 1,000 search and basic calls are free, once, for each company domain with an approved licence: never monthly, whatever the number of accounts or keys. Profile and full records are always paid. Lists of countries, trades and towns and the search suggestions are always free. A list or search counts one call for every 20 results it asks for. Charges are in euros; the dollar price is a guide.
A key holds the directory:read scope for search and basic records, directory:profile for profile records and directory:full for full records. E-mail addresses never appear in searches or lists; they are revealed one business at a time.
Pure-Inbox
Pure-Inbox checks e-mail addresses. Send one address or a list of up to 200,000 and get a clear answer for each: deliverable, undeliverable, catch_all (the domain accepts every address, so this one cannot be confirmed) or unknown (no definite answer for now). Each answer carries the reason and a few facts about the address. A result is our assessment at that moment. It does not promise that a message will arrive.
-
Check
Charged only for a definite answer: deliverable, undeliverable or catch_all. An unknown costs nothing, and so does a line that is not an address. A duplicate in a list is checked and charged once.
EUR2.50per 1,000per 1,000, USD 3.0
- POST /verify
- POST /verify/lists
The first 100 checks of an account are free, once. A list is kept for 30 days and deleted on request; what you send is yours and never enters the directory. The scopes are verify:write (check, make, start and delete lists) and verify:read (progress and results). Charges are in euros; the dollar price is a guide.
curl -X POST -H "Authorization: Bearer lra_your_key" -H "Content-Type: application/json" \
-d '{"email": "[email protected]"}' "https://leadralia.com/api/v1/verify"
curl -X POST -H "Authorization: Bearer lra_your_key" -H "Content-Type: text/csv" \
--data-binary @list.csv "https://leadralia.com/api/v1/verify/lists?name=October"
Expired domains
Search expired domain names by trade, town, country, length and ending, and check whether one is free: GET /api/v1/expired-domains, /facets and POST /api/v1/expired-domains/{domain}/check. Scope domains:read, 50 rows a page, each call counts as one search.
Licence
The data is licensed to your company for its own activity. Reselling it, collecting it to build a competing directory, listing site or dataset, publishing it in bulk and sublicensing it are not allowed. Read the licence terms. A licence needs the company's own website and a code sent to an address on its domain, typed back; apply in Settings, API keys. There is one licence per domain, and the free calls are given to a domain once.
The whole data, and what changed
For a company that needs the whole directory, an annual feed gives every published business at the level you choose, then everything that was added, changed or gone since your last read. It runs by annual contract, with a licence for your company and a key of its own. E-mail addresses are not part of it. Write to us.
Top up your wallet
-
19,600 Basic records or 12,250 searches
One payment, no subscription
EUR49USD 59
-
41,580 Basic records or 25,987 searches
+5% bonus for data
EUR99USD 119
-
83,580 Basic records or 52,237 searches
+5% bonus for data
EUR199USD 239
-
219,560 Basic records or 137,225 searches
+10% bonus for data
EUR499USD 599
Calls past the free ones are paid from your API lots first, then from your wallet, at the prices above. A top-up from EUR 99 earns a bonus that pays data, never e-mails sent, We do it for you, ads, page plans, reports or plans. The smallest top-up is EUR 10. With no free calls and nothing to pay with, the API answers 402 with a link to this page. Once your licence is approved, top up in Leadralia, Wallet.
Quickstart
- Create a free account.
- Apply for the API licence in Settings, API keys: your company, its website and what you will use the data for.
- Type back the code we mail to an address on your company's domain.
- We review your application and approve it.
- Create your key in Settings, API keys.
- Send it as
Authorization: Bearer lra_...with every call. - Check what you used this month at
GET /api/v1/usage.
curl
curl -H "Authorization: Bearer lra_your_key" \
"https://leadralia.com/api/v1/directory/search?q=plumber+in+Houston"
curl -H "Authorization: Bearer lra_your_key" \
"https://leadralia.com/api/v1/directory/listings/412?fields=basic"
curl -H "Authorization: Bearer lra_your_key" "https://leadralia.com/api/v1/usage"
Python
import requests
BASE = "https://leadralia.com/api/v1"
HEADERS = {"Authorization": "Bearer lra_your_key"}
found = requests.get(f"{BASE}/directory/search",
params={"q": "plumber in Houston"}, headers=HEADERS).json()
for hit in found["data"]["results"]:
print(hit["id"], hit["name"], hit["category"], hit["town"])
first = found["data"]["results"][0]["id"]
one = requests.get(f"{BASE}/directory/listings/{first}",
params={"fields": "basic"}, headers=HEADERS).json()["data"]
print(one["name"], one["phone"], one["website"])
JavaScript
const BASE = "https://leadralia.com/api/v1";
const headers = { Authorization: "Bearer lra_your_key" };
const q = encodeURIComponent("plumber in Houston");
const found = await (await fetch(`${BASE}/directory/search?q=${q}`, { headers })).json();
for (const hit of found.data.results) console.log(hit.id, hit.name, hit.category, hit.town);
const one = await (await fetch(
`${BASE}/directory/listings/${found.data.results[0].id}?fields=basic`, { headers })).json();
console.log(one.data.name, one.data.phone, one.data.website);
Assistants can use the directory through our MCP connector at https://leadralia.com/mcp/directory.