Infobel APIinfobel.com ↗
Search Infobel's global business and residential directories via API. Retrieve names, addresses, encrypted phone tokens, websites, and emails across countries.
What is the Infobel API?
The Infobel API exposes 2 endpoints for searching business and residential contact records from Infobel's international directory. search_business returns up to 20 results per page including business name, address, website, email, and an encrypted phone identifier. search_person covers residential listings by name and location, with strongest coverage for Belgium. Both endpoints support pagination and country-scoped queries using ISO two-letter country codes.
curl -X GET 'https://api.parse.bot/scraper/00c8f30f-3b0a-466a-987b-1ac8634a8ad2/search_business?page=1&query=Restaurant&country=uk&location=London' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace infobel-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
from parse_apis.infobel_scraper_api import Infobel, Country
infobel = Infobel()
# Search for restaurants in London, UK
for business in infobel.businesses.search(query="Restaurant", location="London", country=Country.UK):
print(business.name, business.address, business.phone, business.website, business.email)
# Search for people named Dupont in Brussels, Belgium
for person in infobel.people.search(query="Dupont", location="Bruxelles", country=Country.BE):
print(person.name, person.address, person.phone)
Search for businesses on Infobel by category/name and location. Returns paginated results with business name, address, encrypted phone identifier, website, and email. Pages contain up to 20 results. The phone field contains an encrypted token (not a plaintext number). Country and location must match — use the local-language city name for non-English countries.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| queryrequired | string | Business name or category to search for (e.g. 'Restaurant', 'Plumber', 'Hotel'). |
| country | string | Two-letter country code. |
| locationrequired | string | City, region, or postcode to search in (e.g. 'London', 'Paris', 'Bruxelles'). Use the local-language spelling for best results. |
{
"type": "object",
"fields": {
"count": "integer total number of matching results across all pages",
"results": "array of business objects each containing name, address, phone (encrypted), website, and email",
"has_more": "boolean indicating if more pages are available beyond the current page"
},
"sample": {
"data": {
"count": 34019,
"results": [
{
"name": "Butlers Restaurant",
"email": null,
"phone": "REDACTED_SECRET",
"address": "35 Charles Street W1J 5EB London",
"website": null
}
],
"has_more": true
},
"status": "success"
}
}About the Infobel API
What the API Returns
The search_business endpoint accepts a query (business name or category such as 'Restaurant' or 'Plumber'), a required location (city, region, or postcode in local-language spelling), and an optional country code. Each page returns up to 20 business objects containing name, address, phone (encrypted token), website, and email. The top-level count field gives the total number of matching records across all pages, and has_more tells you whether additional pages exist.
People Search
The search_person endpoint follows the same pagination model but targets residential listings. It takes a query (surname or full name), a location, and an optional country. Response objects include name, address, and an encrypted phone token. Residential coverage is uneven across countries — Belgium (be) has the most complete data, making it the most reliable target for person lookups. Use local-language city names (e.g. Bruxelles rather than Brussels) to match Infobel's directory indexing.
Phone Field Behavior
Neither endpoint returns a plaintext phone number directly. The phone field in both search_business and search_person responses contains an encrypted token. This is a deliberate characteristic of the data — plan for it when designing downstream workflows that require actual dial strings.
Pagination
Both endpoints use 1-based integer page numbering via the page parameter. Each page contains at most 20 results. Use the count value to calculate total pages and has_more as a stop condition when iterating through result sets.
The Infobel API is a managed, monitored endpoint for infobel.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when infobel.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official infobel.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build targeted outreach lists of businesses by category and city using
search_businesswithqueryandlocation - Verify whether a business name appears at a given address across multiple countries
- Aggregate restaurant or hotel contact data including website and email fields for a specific region
- Look up residential records by surname in Belgian cities using
search_personwithcountry=be - Enumerate all pages of plumber or electrician listings in a postcode area using the
has_moreandcountfields - Cross-reference business email addresses from Infobel against internal CRM records for data enrichment
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Infobel offer an official developer API?+
What does the `phone` field actually contain?+
search_business and search_person return an encrypted token in the phone field rather than a plaintext number. The field is present in every result object but cannot be dialed or parsed as a phone number directly.How reliable is the `search_person` endpoint across different countries?+
be) has extensive person records, making it the most dependable target. Other countries may return sparse or no results for the same query. The count field on the response will reflect actual availability — a low count in a non-Belgian country is expected behavior, not an error.Does the API return decrypted phone numbers or direct-dial strings?+
Can I filter businesses by industry code or retrieve opening hours?+
search_business endpoint filters by free-text query, location, and country only — there is no structured industry code filter, and opening hours are not part of the response schema. You can fork it on Parse and revise to add those fields if the source exposes them.