# Europages Search ## Overview | Property | Value | |----------|-------| | **Status** | active | | **Method** | `GET` | | **Endpoint** | `/v2/europages/search` | | **Base URL** | `https://api.piloterr.com` | | **Credit Cost** | 1 credit per call | | **Documentation** | https://www.piloterr.com/library/europages-search | ## Description Search Europages suppliers by keyword or category URL. Returns company cards and pagination (1 credit). ## Authentication - **Key Name:** `x-api-key` - **Location:** HTTP Header - **Get an API key:** https://app.piloterr.com/register ## Example Request ```bash curl --location --request GET 'https://api.piloterr.com/v2/europages/search' \ --header 'Content-Type: application/json' \ --header 'x-api-key: YOUR_API_KEY' ``` ## Example Response ### Emballage ```json { "results": [ { "url": "https://www.europages.fr/ALYA-PACKAGING/00000005424124-761159001.html", "city": "Istanbul", "name": "ALYA PACKAGING", "country": "Turquie", "position": 1, "employees": "50-99", "company_id": "5424124", "description": "Alya Packaging, située à Istanbul, met plus de 30 ans d'expertise au service de solutions d' emballage imprimées sur mesure. Nos capacités de conception et de production internes façonnent la...", "delivery_area": "Mondiale", "founding_year": null, "supplier_types": [ "Fabricant/Producteur" ] } ], "pagination": { "next": "https://www.europages.fr/entreprises/pg-2/emballage.html", "page": 1, "per_page": 30, "total_pages": 2327, "total_results": 69799 } } ``` ## Documentation ## Overview Search **Europages** suppliers. **1 credit** per call. `query` is a keyword (`emballage`) or a category / search URL (`/entreprises/…html`, `/fr/search/emballage`). `domain` picks the country site when `query` is a keyword (`fr` by default, `de`, `co.uk`, `es`, `it`, …). `page` uses the site pagination `/pg-N/`. Response shape: `{ results, pagination }`. A page holds 30 companies. ## Quickstart ``` GET https://api.piloterr.com/v2/europages/search?query=emballage GET https://api.piloterr.com/v2/europages/search?query=https://www.europages.fr/entreprises/emballage-blister-plastique.html&page=2 ``` ## `query` **Example (keyword):** emballage **Example (search URL):** https://www.europages.fr/entreprises/emballage-blister-plastique.html `query` is required. | Form | Example | What happens | |---|---|---| | Keyword | `emballage` | Search on the site chosen by `domain`. Default `https://www.europages.fr/fr/search/emballage` | | Category or search URL | `https://www.europages.fr/entreprises/emballage-blister-plastique.html` | The host is kept. A company URL or a product URL returns `400` | Another host returns `400`. An empty value returns `400`. `domain` is the site of a keyword. Values: `fr` (default), `de`, `co.uk` (also `en`, `uk`, `gb`), `es`, `it`, `nl`, `com.tr` (`tr`), `cz` (`cs`), `dk`, `ee`, `gr`, `lt`, `co.hu`, `no`, `pl`, `pt`, `ro`, `si`, `fi`, `se`, `bg`. It is ignored when `query` is a URL. German uses the path `/de/suche/`. An unknown value returns `400`. `page` starts at `1`. Below 1 returns `400`. Page 2 and after use `/pg-N/` on the listing URL. A page holds 30 companies. ## Parameters | Parameter | Type | Required | Description | |---|---|---|---| | `query` | string | yes | Keyword, or a Europages category / search URL | | `domain` | string | no | Site of a keyword, such as `fr`, `de`, `co.uk`. Default `fr` | | `page` | integer | no | Page from 1. Later pages use `/pg-N/` | ## Response fields | Field | Type | Description | |---|---|---| | `results[]` | array | Company cards | | `results[].position` | integer | Position on the page, from 1 | | `results[].company_id` | string \| null | Numeric id from the profile URL | | `results[].name` | string | Company name | | `results[].url` | string | Profile URL for the company endpoint | | `results[].country` | string \| null | Country | | `results[].city` | string \| null | City | | `results[].founding_year` | integer \| null | Year on the card | | `results[].employees` | string \| null | Range such as `20-49` | | `results[].delivery_area` | string \| null | Delivery area | | `results[].supplier_types` | string[] | Manufacturer, wholesaler, and similar labels | | `results[].description` | string \| null | Short text | | `pagination.page` / `per_page` | integer | Page and page size (`30`) | | `pagination.total_results` / `total_pages` | integer \| null | Totals when the page shows them | | `pagination.next` | string \| null | Next page URL | ## Notes - A company or product URL passed here returns `400`. Use [Europages Company](https://www.piloterr.com/library/europages-company). - Older cards link to `/NAME/….html`. `company_id` is the number in that URL. [Europages Company](https://www.piloterr.com/library/europages-company) accepts it and returns the current id from the page. - No cards returns `404`. - German keywords use `/de/suche/{keyword}`. Other sites use `/{language}/search/{keyword}`. ## Error codes | Code | Meaning | |---|---| | `400` | Missing query, unknown host, or a company / product URL | | `403` | Blocked | | `404` | No suppliers | | `500` | Fetch failed | ## Related endpoints - [Europages Company](https://www.piloterr.com/library/europages-company)