# Europages Scraper — European B2B Company Directory (`rastriq/europages-scraper`) Actor

Scrape company profiles from Europages.com, Europe's largest B2B directory with 3M+ businesses. Extract company name, address, phone, email, website, sector, employee count, and description. Build targeted B2B lead lists across 26 European countries.

- **URL**: https://apify.com/rastriq/europages-scraper.md
- **Developed by:** [Rastriq — Structured data from the world](https://apify.com/rastriq) (community)
- **Categories:** Lead generation, Business
- **Features:** Limited permissions
- **Stats:** 14 total users, 3 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Europages Scraper — European B2B Company Directory Data Extraction

![europages](https://www.rastriq.es/readme/b2b.png)

Extract structured company profiles from **[Europages](https://www.europages.com)** — Europe's leading B2B directory with millions of companies across 26 countries and 30+ industry sectors, available in 6 languages.

> Try it free — your first $5 of usage is on Apify. No credit card required.

### What is Europages Scraper?

**Europages Scraper** extracts structured company data from the Europages B2B directory — a platform connecting European manufacturers, suppliers, distributors, and service providers. Each company profile returns up to 17 fields including company name, address, phone, website, employee count, founding year, product catalog, and contact details.

Use Europages Scraper to:

- 🏢 **B2B lead generation** — build targeted prospect lists of European manufacturers and suppliers by industry sector
- 🔍 **Market research** — map competitive landscapes across European markets with structured company data
- 📊 **Supplier discovery** — identify potential suppliers, distributors, and partners by category and geography
- 🌍 **Geographic expansion** — analyze company density and industry presence across 26 European countries
- 🔄 **Automated prospecting** — schedule regular extractions to keep your CRM and sales pipeline fresh

The Apify platform gives Europages Scraper built-in **scheduling**, **API access**, **proxy rotation**, and **integrations** with Make, Zapier, Google Sheets, and more — all out of the box.

### What data does Europages Scraper extract?

Each company profile returns a structured record with up to 17 fields:

| Field | Description |
|-------|-------------|
| `name` | Company name |
| `country` | Country code (ES, DE, FR, IT, etc.) |
| `city` | City name |
| `postal_code` | Postal / ZIP code |
| `address` | Street address |
| `region` | Region or province |
| `phone` | Company phone number |
| `website` | Company website URL |
| `description` | Business description from the company profile |
| `products` | Products and services offered |
| `logo_url` | Company logo image URL |
| `employees` | Employee count range (e.g., "11-50 employees") |
| `founded` | Year the company was founded |
| `url` | Direct link to the Europages profile |
| `category` | Industry category used in the search |
| `source` | Always `europages` |
| `scraped_at` | ISO 8601 extraction timestamp |

### How to use Europages Scraper

Extracting European B2B company data takes under two minutes:

1. **Create a free Apify account** at [apify.com](https://apify.com) — your first $5 is free
2. **Open Europages Scraper** in Apify Console or click **Try for free** on this page
3. **Enter a category** — type the industry sector you want to search (e.g., `construction`, `food-and-beverage`, `automotive`)
4. **Choose a domain** — select which Europages country version to scrape (e.g., `europages.com`, `europages.es`, `europages.de`)
5. **Click Start** and wait for results
6. **Download your results** in JSON, CSV, Excel, XML, or HTML — or access them via API

#### Input example — Spanish construction companies

Search for construction companies on the Spanish Europages directory:

```json
{
  "category": "construction",
  "domain": "europages.es",
  "maxItems": 200,
  "maxPages": 5
}
```

#### Input example — German food & beverage suppliers

Search for food and beverage companies on the German Europages directory:

```json
{
  "category": "food-and-beverage",
  "domain": "europages.de",
  "maxItems": 500,
  "maxPages": 10
}
```

### Input parameters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `category` | string | *(required)* | Industry category slug to search (e.g., `construction`, `automotive`, `food-and-beverage`) |
| `domain` | string | `europages.es` | Europages country domain: `europages.com` (international), `europages.es` (Spain), `europages.de` (Germany), `europages.fr` (France), `europages.it` (Italy), `europages.pt` (Portugal) |
| `maxItems` | integer | `0` | Maximum companies to extract. `0` = unlimited |
| `maxPages` | integer | `9999` | Maximum listing pages to crawl (~20 companies per page) |
| `proxyConfiguration` | object | Auto | Proxy settings for the extraction |

#### Supported domains

| Domain | Market |
|--------|--------|
| `europages.com` | International (English) |
| `europages.es` | Spain |
| `europages.de` | Germany |
| `europages.fr` | France |
| `europages.it` | Italy |
| `europages.pt` | Portugal |

### Output example

Each result is a structured JSON object. Here is a sample of a company profile extracted from Europages:

```json
{
  "name": "Ferrovial Construcción S.A.",
  "country": "ES",
  "city": "Madrid",
  "postal_code": "28046",
  "address": "Príncipe de Vergara 135",
  "region": "Comunidad de Madrid",
  "phone": "+34 91 586 2500",
  "website": "https://www.ferrovial.com",
  "description": "Ferrovial is a global infrastructure operator and one of the largest construction companies in Europe, delivering complex projects across transport, buildings, and urban infrastructure.",
  "products": "Construction services; Infrastructure; Road building; Bridge construction; Civil engineering",
  "logo_url": "https://www.europages.es/images/logo-placeholder.png",
  "employees": "More than 500 employees",
  "founded": "Founded in 1952",
  "url": "https://www.europages.es/es/company/ferrovial-construccion",
  "category": "construction",
  "source": "europages",
  "scraped_at": "2026-08-29T08:30:00Z"
}
```

Download results in **JSON, CSV, Excel, XML, or HTML** from the Output tab, or pull them programmatically using the [Apify API](https://docs.apify.com/api/v2).

> **Sample dataset**: Preview real output in the [europages-scraper-sample](https://apify.com/rastriq/europages-scraper/dataset/europages-scraper-sample) dataset.

> **GDPR note** — Contact fields of business listings (`phone, description`) are replaced with `"GDPR Protection"` in the public sample dataset. The live Actor returns full values — your data, your responsibility.

### See real records before you run it

[Browse sample data](https://console.apify.com/storage/datasets/Eb6rxoVZi2NbZ4mzb) extracted by this Actor — fields, format and structure, ready to inspect before your first run.

### How much does it cost to use Europages Scraper?

**$2.00 per 1,000 company profiles** (+ $0.0002 per start). Your $5 free trial credit covers ~2,400 company profiles.

### Technical notes

- **Method**: Python requests + BeautifulSoup with JSON-LD (`schema.org/Organization`) extraction — no browser required
- **Multi-language**: Supports 6 Europages country domains (ES, COM, DE, FR, IT, PT)
- **Data enrichment**: Extracts structured data from both HTML elements and embedded JSON-LD `Organization`/`LocalBusiness` markup
- **Proxy support**: Configurable proxy settings for large-scale extractions
- **Rate limiting**: Built-in request throttling to respect server limits

### Integrations

Connect Europages Scraper to your workflow:

- **API** — call programmatically via [Apify API](https://apify.com/rastriq/europages-scraper/api) (Python, JavaScript, cURL)
- **Webhooks** — trigger CRM updates when a run completes
- **Zapier / Make** — connect to 5,000+ apps for automated lead pipelines
- **Google Sheets** — export company lists directly to a spreadsheet
- **Schedule** — run weekly or monthly to discover new suppliers and track market changes

### Related Rastriq Actors — B2B & Business Data

| Actor | Description |
|-------|-------------|
| [Idealista Scraper](https://apify.com/rastriq/idealista-scraper) | Extract real estate listings from Spain's largest property portal |
| [Indeed ES Scraper](https://apify.com/rastriq/indeed-es-scraper) | Extract job listings from Indeed Spain for labor market analysis |
| [Clasificados Online Scraper](https://apify.com/rastriq/clasificadosonline-scraper) | Extract classified ads from Puerto Rico's largest marketplace |

### Copy to your AI assistant

Copy the Apify Store URL for this Actor and paste it into ChatGPT, Claude, or any LLM with web access:

```
https://apify.com/rastriq/europages-scraper
```

The model will read the Actor description, input schema, and field list — then help you build the right API call or integration.

### About the data

This Actor is built and maintained by [Rastriq](https://www.rastriq.es), a data intelligence company specializing in structured extraction for market research and competitive analysis. Browse our full [field reference and methodology](https://www.rastriq.es/en/b2b-sourcing/#campos).

### Frequently Asked Questions

#### What is Europages?

Europages is Europe's largest B2B directory, connecting millions of companies across 26 countries. It serves as a matchmaking platform for manufacturers, suppliers, distributors, and service providers, organized by industry sectors including construction, automotive, food & beverage, chemicals, electronics, and more.

#### Which countries does Europages Scraper cover?

Europages Scraper supports 6 country-specific domains: Spain (`europages.es`), Germany (`europages.de`), France (`europages.fr`), Italy (`europages.it`), Portugal (`europages.pt`), and the international English version (`europages.com`). Each domain lists companies relevant to that market.

#### What categories can I search?

Categories match the Europages directory structure — industry sectors like `construction`, `food-and-beverage`, `automotive`, `chemicals`, `electronics`, `textiles`, and many more. Browse the Europages website to find the exact category slug for your target industry.

#### Can I use Europages Scraper for lead generation?

Yes. Europages Scraper is designed for B2B lead generation. Extract company profiles with contact details (phone, website, address) and import them into your CRM or sales tools via CSV export, API, or integrations with Zapier and Make.

#### Is it legal to scrape Europages?

Europages Scraper extracts **publicly available data** from the Europages directory. As with any data collection, review the site's Terms of Service before using scraped data commercially. For guidance, see [Apify's blog on the legality of web scraping](https://blog.apify.com/is-web-scraping-legal/).

#### I found a bug or my run failed. Where do I report it?

Please open an issue in the [Issues tab](https://apify.com/rastriq/europages-scraper/issues). Include your input configuration and run ID so we can investigate quickly.

# Actor input Schema

## `category` (type: `string`):

Category slug from the Europages URL — the part after <code>/empresas/</code> or <code>/companies/</code>.<br><br>Examples: <code>construction</code>, <code>alquiler-de-maquinaria</code>, <code>manufacturing</code>, <code>transporte</code>, <code>maquinaria-agricola</code>.<br><br>💡 Find the slug by browsing <a href='https://www.europages.com' target='_blank'>europages.com</a> and copying the URL segment.

## `domain` (type: `string`):

Europages regional domain to scrape. Each domain has its own company listings and category slugs — make sure your category slug matches the selected language.

## `maxItems` (type: `integer`):

Maximum number of company profiles to extract. Use a low value (10–20) for your first test run to check the output before scaling up.

## `maxPages` (type: `integer`):

Maximum number of listing pages to paginate through. Each page contains ~20 company links. Set to <code>0</code> to scrape all available pages (may be hundreds for large categories).

## `proxyConfiguration` (type: `object`):

Recommended for large scrapes — Europages rate-limits repeated requests. Apify Residential proxies give the best success rate.

## Actor input object example

```json
{
  "category": "construction",
  "domain": "europages.es",
  "maxItems": 10,
  "maxPages": 3,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

Dataset containing all scraped listings

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "category": "construction",
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("rastriq/europages-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "category": "construction",
    "maxItems": 10,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("rastriq/europages-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "category": "construction",
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call rastriq/europages-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,rastriq/europages-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/fOOHx2FMM3XIWjhDW/builds/5FsoITNbSiedjW5uc/openapi.json
