Europages APIeuropages.co.uk ↗
Access Europages A–Z supplier listings and full company profiles via API. Get addresses, contacts, coordinates, VAT IDs, certificates, and more.
What is the Europages API?
The Europages API gives developers programmatic access to two endpoints covering B2B supplier data from europages.co.uk: one that returns a directory section listing of up to ~100 suppliers per letter, and one that returns a full company profile with over 15 fields including contact names, address, coordinates, VAT ID, founding year, employee band, certificates, and product category titles. The get_company endpoint in particular is suited to building supplier research pipelines.
curl -X GET 'https://api.parse.bot/scraper/599994b4-1e4a-4e4c-a2ad-4ba96ad18f44/list_popular_suppliers?letter=A' \ -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 europages-co-uk-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.
"""Walkthrough: Europages SDK — browse popular suppliers and fetch company profiles."""
from parse_apis.europages_co_uk_api import Europages, CompanyNotFound
client = Europages()
# List popular suppliers under letter "A", capped at 5 results.
for supplier in client.company_summaries.list(letter="A", limit=5):
print(supplier.name, supplier.company_slug)
# Drill into the first supplier's full company profile.
first = client.company_summaries.list(letter="B", limit=1).first()
if first is not None:
company = first.details()
print(company.name, company.founding_year, company.employee_count)
print("Address:", company.address.city, company.address.country_code)
# Explore contacts and categories from the detail profile.
for contact in company.contacts:
print(f" Contact: {contact.first_name} {contact.last_name} ({contact.executive_type})")
for cat in company.categories:
print(f" Category: {cat.name}")
# Direct point-lookup when you already know the slug.
try:
detail = client.companies.get(company_slug="arthur-krueger-gmbh-283493")
print(detail.name, detail.url)
if detail.main_business_area is not None:
print("Business area:", detail.main_business_area.title)
except CompanyNotFound:
print("Company not found")
print("exercised: company_summaries.list / details / companies.get")
Returns the suppliers listed in one section of the Europages 'Popular suppliers (A–Z)' directory. One request per call; each section is a fixed list (100 suppliers observed for A and B) with no further pagination offered by the site, so there is no paging input. Each row carries the supplier name, its company_slug (feed it unchanged to get_company) and the profile URL. The letter is case-insensitive. A letter outside A–Z is rejected as invalid input; a section with no suppliers returns an empty suppliers array.
| Param | Type | Description |
|---|---|---|
| letterrequired | string | Single directory section letter A–Z (case-insensitive), e.g. A. |
{
"type": "object",
"fields": {
"count": "number of suppliers returned in this section",
"letter": "the normalized upper-case section letter requested",
"suppliers": "array of {name, company_slug, url}; company_slug is the identifier accepted by get_company"
},
"sample": {
"data": {
"count": 100,
"letter": "A",
"suppliers": [
{
"url": "https://www.europages.co.uk/en/company/arthur-krueger-gmbh-283493",
"name": "Arthur Krüger GmbH",
"company_slug": "arthur-krueger-gmbh-283493"
},
{
"url": "https://www.europages.co.uk/en/company/die-teichreiniger-inhaber-daniel-hoefler-1608141",
"name": "Die Teichreiniger - Inhaber: Daniel Hoefler",
"company_slug": "die-teichreiniger-inhaber-daniel-hoefler-1608141"
}
]
},
"status": "success"
}
}About the Europages API
Directory Browsing with list_popular_suppliers
The list_popular_suppliers endpoint accepts a single letter parameter (A–Z, case-insensitive) and returns that section of the Europages 'Popular suppliers (A–Z)' directory. Each response includes a count, the normalized letter, and an array of suppliers objects. Each supplier entry carries name, company_slug, and url. The company_slug field is the identifier you pass directly to get_company. Approximately 100 suppliers are returned per letter section; there is no pagination across multiple pages within a section.
Full Company Profiles with get_company
Pass any company_slug from the directory listing to get_company to retrieve the full public Europages profile for that supplier. The response covers identity fields (name, vat_id, homepage), a structured address object with address_lines, city, postal_code, and country_code, plus latitude and longitude for geo-referencing. You also get an array of contacts with first_name, last_name, title, phone_number, and executive_type, and arrays for keywords, pictures, and product category titles.
Data Completeness and Nullable Fields
Several fields in get_company may be null depending on what the supplier has published: vat_id, homepage, latitude, logo_url, and individual contact fields are all nullable. pictures and contacts can be empty arrays. Founding year, employee band, supplier types, certificates, and main business area are returned when the supplier's profile includes them. The response covers the first page of associated data where the source presents paginated content.
The Europages API is a managed, monitored endpoint for europages.co.uk — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when europages.co.uk 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 europages.co.uk 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 a B2B supplier database by iterating all 26 letter sections and enriching each slug with full profile data.
- Geocode European suppliers using the
latitudefield returned byget_companyfor map-based visualizations. - Extract VAT IDs for compliance or due-diligence workflows on European suppliers.
- Identify named procurement contacts and their roles using the
contactsarray withexecutive_type. - Aggregate product category titles across suppliers to analyze which categories have the most Europages coverage.
- Cross-reference supplier
homepageURLs with your own data to resolve company identity across sources. - Monitor certificate data for suppliers operating in regulated industries.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Europages offer an official developer API?+
How many suppliers can I retrieve, and is there pagination?+
list_popular_suppliers returns the fixed list for one letter section — approximately 100 suppliers were observed for sections A and B. The endpoint does not accept page or offset parameters; the section list is returned in a single response per letter.Can I search for suppliers by industry, country, or keyword rather than by letter?+
list_popular_suppliers and individual profile lookup via get_company. Filtering by country, product category, or keyword is not exposed as an input parameter. You can fork this API on Parse and revise it to add a search or filter endpoint.Are all contact details guaranteed to be present in a company profile?+
contacts array may be empty, and individual contact fields such as phone_number and title are nullable. Profile completeness depends on what each supplier has published on Europages. VAT ID, homepage, logo URL, and coordinates are also nullable for the same reason.Does the API return supplier reviews or ratings from Europages?+
get_company response covers identity, address, contacts, certificates, keywords, and pictures, but does not include review counts, star ratings, or buyer feedback. You can fork this API on Parse and revise it to add a reviews endpoint if that data is needed.