Europages logo

Leads & companies · Live on Apify

Europages scraper for B2B suppliers and manufacturers

Search Europages by product and country. You get one row per supplier with website, address, size and founding year. Company profiles add certificates, VAT ID and phone.

About $5.41 for 1,000 results$0.0054 per result + $0.005 per run. Apify bills you, not us.Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Run it on Apify Opens apify.com, the website where our tools run. Sign up free with Google or email, no card needed.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure

What you get, for example

companyId21241677
nameRHEIN-PLAST GMBH
urlhttps://www.europages.co.uk/en/company/rhein-plast-gmbh-21241677

How to use it: 3 steps

  1. Make a free Apify accountApify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: packaging in Search terms. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Search Europages, the European B2B directory, by product keyword, country and company type. Get one row per supplier with website, address, employees, founding year, certificates, activities, VAT ID and company phone.

Good for

  • Find manufacturers or wholesalers of a product in one or more European countries.
  • Build a supplier shortlist with website, size (employees) and founding year.
  • Check which suppliers list a certificate such as ISO 9001 or ISO 14001.
  • Enrich a lead list with the company VAT ID and main phone number.

Not a good fit

  • No e-mail addresses and no personal contacts. The Actor returns only the company's main phone number. E-mail addresses in company descriptions are replaced with [email removed].
  • Europages search is fuzzy. It also returns companies that only match part of a word, or a related term. Even a nonsense word can return a few companies. Check keywords, activities and mainActivity if you need exact matches.
  • Up to 1,000 companies per search (one keyword in one country) and up to 20 searches per run.
  • Fields depend on what each company publishes. Many companies have no certificates, VAT ID or activities.
  • The Actor does not promise a complete list of all companies in a country. It returns what Europages search shows.

Who uses it

Buyers and sourcing teams

Build a supplier shortlist for a product in Europe.

B2B sales teams

Make lead lists of makers or wholesalers by country.

Quality managers

Find suppliers that list ISO 9001 or ISO 14001.

Price

Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.

What you pay forPriceWhen
Start fee$0.005Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more.
Company$0.0054 (from $0.0045 on paid Apify plans)One saved Europages company row. Duplicates and rows whose profile could not be read are not charged.

Examples

  • One result: about $0.01.
  • 1,000 results: about $5.41.
  • Every day 100 results, for 30 days: about $16.35 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed. That is enough for about 920 results.

Prices checked on 24 October 2026. See the current price on Apify.

Questions

Do I need a Europages account?

No. The tool reads public Europages pages.

Do I get email addresses?

No. You get the company phone and website, but no emails or personal contacts.

How many companies can I get?

Up to 1,000 per search and 20 searches per run. With profiles, about 1,500 fit in one hour.

What if nothing is found?

The run ends as empty. You pay only the start fee.

Does it return e-mail addresses?

No. It returns the company's main phone number and website. It does not collect personal contacts or e-mails.

Why does the same keyword give a slightly different list on another day?

Europages changes its ranking and its company data. The Actor returns what Europages shows at run time. Use companyId to compare runs.

Details

Step by step on Apify
  1. Open the Input tab.
  2. Add a product keyword in Search terms (queries), for example packaging.
  3. Choose one or more Countries (countries), for example DE. Leave it empty to search all of Europe.
  4. Keep Max companies per search (maxItems) at the prefill 20 for a first test.
  5. Click Start.
  6. Open the Output tab and check the Companies view: name, country, city, website, companyType.
Use cases
TaskInputYou getKey fieldsNext step
Find manufacturers of a productqueries, countries, companyType = productionCompanyname, website, country, employeesExport to CSV or Google Sheets
Supplier check by certificatequeries, includeDetails = trueCompanycertifications, foundedYear, distributionAreaFilter rows by certifications
Lead list for B2B salesqueries, countriesCompanywebsite, phone, vatId, cityImport to CRM via API or integration
Quick market countqueries, includeDetails = falseCompany (search result only)name, country, companyTypeCount rows per country
Tips for better results
  • Write search terms in English, like packaging or cnc machining.
  • Europages search is fuzzy. Check activities to keep exact matches.
  • Turn off profiles for a fast first count of companies.
Limits and good to know
  • Company: one event for each saved company row. The price depends on your Apify plan:
  • 20 searches per run, 1,000 companies per search, 20 terms per run
  • One run works for at most 1 hour. With profiles this is about 1,500 companies per run, so 20 searches × 1,000 companies do not fit in one run
  • 20 companies with profiles: about 20 seconds to 4 minutes. 1,000 companies with profiles: about 40 minutes
  • Default memory 512 MB; default timeout 3,600 seconds. For big runs keep the timeout at 3,600 seconds or more

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "companyId": "21241677",
  "name": "RHEIN-PLAST GMBH",
  "url": "https://www.europages.co.uk/en/company/rhein-plast-gmbh-21241677",
  "website": "https://www.rhein-plast.de/",
  "country": "DE",
  "city": "Bad Dürkheim",
  "street": "Altenbacher Strasse 24-26",
  "zipcode": "67098",
  "mainActivity": "Packaging services",
  "keywords": ["Anti-static film", "Bags with adhesive sealing", "Clean room packaging"],
  "productCategories": ["Flat Pouches", "Pharmaceutical Packaging"],
  "companyType": ["production"],
  "employees": "50-99",
  "foundedYear": 1959,
  "certifications": [],
  "certificationsCount": 0,
  "vatId": "DE149372181",
  "phone": "+4963227980",
  "distributionArea": "international",
  "query": "packaging",
  "searchCountry": "DE",
  "searchRank": 1,
  "detailStatus": "complete",
  "detailError": null,
  "source": "europages",
  "fetchedAt": "2026-10-15T00:13:29.645Z"
}

Use it from code

Actor ID: cliqtomedia/europages-companies-scraper. You need your Apify API token from Apify Console → Settings → API & Integrations.

Python · apify-client
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/europages-companies-scraper").call(run_input={
    "queries": [
        "packaging"
    ],
    "countries": [
        "DE"
    ]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
cURL
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~europages-companies-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries": ["packaging"], "countries": ["DE"]}'
LangChain · langchain-apify
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/europages-companies-scraper")
result = tool.invoke({"run_input": {"queries": ["packaging"], "countries": ["DE"]}})
print(result)

The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.

Data fields (34)
FieldTypeMeaning
companyIdstringEuropages company ID, stable across runs.
uuidstringEuropages company UUID.
namestringCompany name.
urlstringCompany profile on www.europages.co.uk.
websitestringCompany's own website.
countrystringCountry of the company address, ISO 3166-1 alpha-2 (DE, FR, ...).
citystringCity of the company address.
streetstringStreet address.
zipcodestringPostal code.
latitudenumberLatitude of the company address.
longitudenumberLongitude of the company address.
descriptionstringCompany description from Europages. E-mail addresses in the text are replaced with [email removed].
mainActivitystringMain business area from the profile, e.g. Packaging material. Null without profile details.
activitiesarrayActivities (Europages categories) from the profile, up to 15; empty without profile details.
activitiesTotalintegerTotal number of activities the profile lists.
keywordsarrayBusiness keywords the company lists on its profile, up to 50; empty without profile details. Many companies have keywords but no activities.
productCategoriesarrayProduct categories of the company catalogue on the profile.
companyTypearrayCompany types: production, customer_specific_manufacturing, distribution, wholesaler, service.
employeesstringEmployee range, e.g. 50-99.
foundedYearintegerYear the company was founded.
certificationsarrayCertificate names from the profile, e.g. ISO 9001; null without profile details.
certificationsCountintegerNumber of certificates.
vatIdstringVAT ID when the company publishes it on Europages.
phonestringCompany's main phone number. Personal contacts of employees are never collected.
distributionAreastringWhere the company sells: national, europe or international.
productCountintegerNumber of products in the company catalogue.
logoUrlstringCompany logo image.
querystringSearch term that found the company.
searchCountrystringCountry filter of the search that found the company; null for all countries.
searchRankintegerPosition of the company in that search (1 = first).
detailStatusstringcomplete = search result and profile; listing_only = profiles turned off; detail_error = profile could not be read, fields come from the search result; such a row is not charged.
detailErrorstringWhy the profile could not be read; null otherwise.
sourcestringAlways europages.
fetchedAtstringWhen the row was collected (ISO 8601, UTC).
Input settings (5)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
Search terms requiredqueriesarray["packaging"]
Countriescountriesarray["DE"]
Company typecompanyTypestring"any"
Max companies per searchmaxItemsinteger20
Open company profilesincludeDetailsbooleantrue

Use cases with this tool

Each guide shows all the steps and the other tools.

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure