# EU Transparency Register scraper for lobby organisation leads (`mangudai/eu-transparency-register-scraper`) Actor

Build B2B lead lists from the official EU Transparency Register. Every registered lobby organisation with website, phone, Brussels address, named contact people, lobbying budget, staff numbers and policy interests. Public EU data, no login or API key.

- **URL**: https://apify.com/mangudai/eu-transparency-register-scraper.md
- **Developed by:** [Mangudäi](https://apify.com/mangudai) (community)
- **Categories:** Lead generation, Open source
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.01 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## EU Transparency Register scraper for lobby organisation leads

Turn the official EU Transparency Register into a clean lead list. This actor pulls every organisation registered to lobby the European Commission and the European Parliament, and returns the part most tools leave out: the named contact people, the declared lobbying budget, the Brussels address and the policy files each organisation follows.

Around 12,000 organisations are on the register at any time: companies, trade associations, NGOs, law firms, public affairs consultancies, think tanks, trade unions and regional offices. They all declare who runs EU relations, what they spend and what they care about. That is a prospect list for anyone selling into the Brussels bubble, and a research set for journalists and academics.

The data is public EU open data. No login, no API key, no captcha, no proxy.

### What you get

One row per organisation, with:

- Identity: organisation name, acronym, REG number, legal form, category of registration, status
- Contact: website, phone, full head office address, city, postcode, country, separate EU office address
- People: person with legal responsibility and their job title, person in charge of EU relations and their job title, European Parliament badge holders
- Money and size: estimated annual lobbying costs, closed financial year, EU grants received, total people involved, full time equivalent
- Policy: fields of interest, level of interest represented, whose interests are represented, main EU legislative proposals targeted, goals and remit
- Network: memberships in federations and networks, list of members and partner organisations
- Housekeeping: registration date, last update, next update due, link to the profile on the register, scrape timestamp

### Filters

- **Keyword** searches names, goals and declared activities. A REG number works too.
- **Categories of registration** covers the register's own 13 groups, from companies to religious organisations.
- **Head office countries** takes ISO 3166-1 alpha-2 codes in lowercase, such as `be`, `de`, `fr`, `us`.
- **Fields of interest** covers the 39 EU policy areas, from climate action to taxation.
- **Registration status** separates currently activated registrants from suspended ones.
- **Fetch full profiles** can be switched off when you only need names and REG numbers, which makes a run near instant.
- **Maximum organisations** caps the run.

### Example input

```json
{
  "categories": ["trade-business-associations"],
  "countries": ["be"],
  "status": "ACTIVATED",
  "fetchDetails": true,
  "maxItems": 25
}
````

That returns Brussels trade associations with a named director, a phone number and a lobbying budget band for each one.

Other useful runs:

- Public affairs firms to partner with or benchmark: `{"categories": ["professional-consultancies"], "countries": ["be"]}`
- Everyone lobbying on one policy file: `{"interests": ["climateaction"], "maxItems": 500}`
- Corporate lobbying in one member state: `{"categories": ["companies-groups"], "countries": ["de"]}`
- Keyword sweep across the whole register: `{"searchQuery": "hydrogen"}`

### Who uses this

Public affairs agencies building prospect lists. Event organisers selling sponsorships and speaking slots in Brussels. SaaS vendors selling monitoring, CRM and compliance tools to lobbyists. Journalists and researchers mapping who lobbies on a file and how much they spend. Compliance teams checking whether a counterparty is registered.

### How it works

The actor queries the register's own advanced search and export endpoints, then opens each organisation's public profile page and parses the declared fields. Requests are rate limited and retried with a growing backoff so the register is not hammered. Only public pages are read.

### Notes and limits

- Financial figures are self-declared bands, not audited accounts. The register publishes them as the organisation entered them.
- Some organisations leave optional fields empty. Those come back as empty strings rather than being dropped.
- The register updates continuously. An organisation that misses its annual update deadline moves to suspended and is later removed.
- Source: the EU Transparency Register, run jointly by the European Parliament, the Council and the European Commission.

### Output sample

```json
{
  "regNumber": "9852147102921-88",
  "organisationName": "EUROPEAN CARPET AND RUG ASSOCIATION",
  "acronym": "ECRA",
  "categoryOfRegistration": "Trade and business associations",
  "website": "https://ecra.eu/",
  "phone": "(+ 49 ) 1757509846",
  "headOfficeAddress": "Rue Belliard 40, 1040, Etterbeek, BELGIUM",
  "headOfficeCity": "Etterbeek",
  "headOfficeCountry": "BELGIUM",
  "legalResponsiblePerson": "Mr Hans-Peter Breuer",
  "legalResponsiblePosition": "director",
  "annualLobbyingCosts": "€200,000 - €299,999",
  "personsInvolvedTotal": "2",
  "fullTimeEquivalent": "0.8",
  "fieldsOfInterest": "Business and industry; Climate action; Competition; Consumers; Customs; Energy; Environment; Trade"
}
```

# Actor input Schema

## `searchQuery` (type: `string`):

Free-text search across organisation names, goals and declared activities. Leave empty to rely on the filters below. You can also paste a REG number here.

## `categories` (type: `array`):

The register's own organisation categories. Pick one or more, or leave empty for all.

## `countries` (type: `array`):

ISO 3166-1 alpha-2 country codes in lowercase, for example be, de, fr, us. Leave empty for every country.

## `interests` (type: `array`):

EU policy areas the organisation declared it follows. Pick one or more, or leave empty for all.

## `status` (type: `string`):

Activated organisations are currently registered. Suspended ones missed an update deadline.

## `fetchDetails` (type: `boolean`):

Open each organisation's profile to add website, phone, address, contact people, lobbying budget, staff numbers and interests. Turn this off for a fast name and REG number list only.

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

Stop after this many organisations.

## Actor input object example

```json
{
  "searchQuery": "",
  "categories": [
    "trade-business-associations"
  ],
  "countries": [
    "be"
  ],
  "interests": [],
  "status": "ACTIVATED",
  "fetchDetails": true,
  "maxItems": 25
}
```

# Actor output Schema

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

No description

# 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 = {
    "searchQuery": "",
    "categories": [
        "trade-business-associations"
    ],
    "countries": [
        "be"
    ],
    "interests": [],
    "status": "ACTIVATED",
    "fetchDetails": true,
    "maxItems": 25
};

// Run the Actor and wait for it to finish
const run = await client.actor("mangudai/eu-transparency-register-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 = {
    "searchQuery": "",
    "categories": ["trade-business-associations"],
    "countries": ["be"],
    "interests": [],
    "status": "ACTIVATED",
    "fetchDetails": True,
    "maxItems": 25,
}

# Run the Actor and wait for it to finish
run = client.actor("mangudai/eu-transparency-register-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchQuery": "",
  "categories": [
    "trade-business-associations"
  ],
  "countries": [
    "be"
  ],
  "interests": [],
  "status": "ACTIVATED",
  "fetchDetails": true,
  "maxItems": 25
}' |
apify call mangudai/eu-transparency-register-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=mangudai/eu-transparency-register-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "EU Transparency Register scraper for lobby organisation leads",
        "description": "Build B2B lead lists from the official EU Transparency Register. Every registered lobby organisation with website, phone, Brussels address, named contact people, lobbying budget, staff numbers and policy interests. Public EU data, no login or API key.",
        "version": "0.0",
        "x-build-id": "vl9pQ9VgieaLebdjG"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/mangudai~eu-transparency-register-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-mangudai-eu-transparency-register-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/mangudai~eu-transparency-register-scraper/runs": {
            "post": {
                "operationId": "runs-sync-mangudai-eu-transparency-register-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/mangudai~eu-transparency-register-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-mangudai-eu-transparency-register-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "searchQuery": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Free-text search across organisation names, goals and declared activities. Leave empty to rely on the filters below. You can also paste a REG number here.",
                        "default": ""
                    },
                    "categories": {
                        "title": "Categories of registration",
                        "type": "array",
                        "description": "The register's own organisation categories. Pick one or more, or leave empty for all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "professional-consultancies",
                                "law-firms",
                                "self-employed-consultants",
                                "companies-groups",
                                "trade-business-associations",
                                "trade-unions",
                                "ngos",
                                "think-tanks",
                                "academic-institutions",
                                "religious-organisations",
                                "subnational-authorities",
                                "transnational-associations",
                                "other-public-entities"
                            ],
                            "enumTitles": [
                                "Professional consultancies",
                                "Law firms",
                                "Self-employed consultants",
                                "Companies and groups",
                                "Trade and business associations",
                                "Trade unions and professional associations",
                                "NGOs, platforms and networks",
                                "Think tanks and research institutions",
                                "Academic institutions",
                                "Religious organisations",
                                "Subnational public authorities",
                                "Transnational associations and networks",
                                "Other public or mixed entities"
                            ]
                        },
                        "default": [
                            "trade-business-associations"
                        ]
                    },
                    "countries": {
                        "title": "Head office countries",
                        "type": "array",
                        "description": "ISO 3166-1 alpha-2 country codes in lowercase, for example be, de, fr, us. Leave empty for every country.",
                        "default": [
                            "be"
                        ],
                        "items": {
                            "type": "string"
                        }
                    },
                    "interests": {
                        "title": "Fields of interest",
                        "type": "array",
                        "description": "EU policy areas the organisation declared it follows. Pick one or more, or leave empty for all.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "agriculture",
                                "bankingandfinancialservices",
                                "borderandsecurity",
                                "budget",
                                "businessandindustry",
                                "climateaction",
                                "communication",
                                "concurrence",
                                "consumers",
                                "culturemedia",
                                "douanes",
                                "digitaleconomyandsociety",
                                "economyFinance_new",
                                "educationandtraining",
                                "emploietaffairessociales",
                                "energie",
                                "elargissement",
                                "environnement",
                                "europeanneighbourhoodpolicy",
                                "relationsexterieurs",
                                "securitealimentaire",
                                "foreignaffairsandsecuritypolicy",
                                "fraudprevention",
                                "humanitarianandcivilprotection",
                                "generalinstaffair_new",
                                "internationalCooperationanddevelopment",
                                "justiceetdroitsfondamentaux",
                                "maritimeaffairsandfisheries",
                                "migrationandasylum",
                                "santepublique",
                                "politiqueregionale",
                                "researchandinnovation",
                                "singlemarket",
                                "sports",
                                "fiscalite",
                                "commerce",
                                "reseauxtranseuropeen",
                                "transports",
                                "jeunesse"
                            ],
                            "enumTitles": [
                                "Agriculture and rural development",
                                "Banking and financial services",
                                "Borders and security",
                                "Budget",
                                "Business and industry",
                                "Climate action",
                                "Communication",
                                "Competition",
                                "Consumers",
                                "Culture and media",
                                "Customs",
                                "Digital economy and society",
                                "Economy, finance and the euro",
                                "Education and training",
                                "Employment and social affairs",
                                "Energy",
                                "Enlargement",
                                "Environment",
                                "European neighbourhood policy",
                                "External relations",
                                "Food safety",
                                "Foreign affairs and security policy",
                                "Fraud prevention",
                                "Humanitarian aid and civil protection",
                                "Institutional affairs",
                                "International co-operation and development",
                                "Justice and fundamental rights",
                                "Maritime affairs and fisheries",
                                "Migration and asylum",
                                "Public health",
                                "Regional policy",
                                "Research and innovation",
                                "Single market",
                                "Sport",
                                "Taxation",
                                "Trade",
                                "Trans-European networks",
                                "Transport",
                                "Youth"
                            ]
                        },
                        "default": []
                    },
                    "status": {
                        "title": "Registration status",
                        "enum": [
                            "any",
                            "ACTIVATED",
                            "SUSPENDED"
                        ],
                        "type": "string",
                        "description": "Activated organisations are currently registered. Suspended ones missed an update deadline.",
                        "default": "ACTIVATED"
                    },
                    "fetchDetails": {
                        "title": "Fetch full profiles",
                        "type": "boolean",
                        "description": "Open each organisation's profile to add website, phone, address, contact people, lobbying budget, staff numbers and interests. Turn this off for a fast name and REG number list only.",
                        "default": true
                    },
                    "maxItems": {
                        "title": "Maximum organisations",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Stop after this many organisations.",
                        "default": 25
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
