# Poland BDO Waste Registry Scraper (`regdata/bdo-waste-registry-scraper`) Actor

Rejestr BDO - baza danych o odpadach. Search 674,000+ waste management entities by name, NIP or province. Confirm a waste handler is registered and get its BDO registry number. No API exists. ESG compliance, environmental due diligence. Gospodarka odpadami.

- **URL**: https://apify.com/regdata/bdo-waste-registry-scraper.md
- **Developed by:** [getregdata](https://apify.com/regdata) (community)
- **Categories:** Lead generation, Automation, Agents
- **Stats:** 3 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 entity results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Poland BDO Waste Registry Scraper | Rejestr BDO

Verify that a waste-management contractor holds a valid **BDO** registration before you sign - searching **674,000+ entities** in Poland's central waste registry by name, NIP, or BDO number, as structured JSON. Beyond what the registry's manual search allows. Hiring an unregistered waste handler can expose your company to fines from 1,000 to 1,000,000 PLN, so this is the check that belongs in environmental-compliance and ESG due diligence.

**No login, no API key, no proxy, nothing to configure** - paste a company name or NIP and get its BDO registration back.

### What data do you get?

One record per registered entity:

```json
{
  "registryNumber": "000001572",
  "companyName": "REMONDIS sp. z o.o.",
  "nip": "7280132515",
  "nipEu": null,
  "address": "Kraj: Polska, Wojewodztwo: MAZOWIECKIE, Powiat: Warszawa, Gmina: Mokotow, Miejscowosc: Warszawa, Ulica: Zawodzie 18, Kod pocztowy: 02-981",
  "country": "Polska",
  "province": "MAZOWIECKIE",
  "district": "Warszawa",
  "commune": "Mokotow",
  "city": "Warszawa",
  "street": "Zawodzie 18",
  "postalCode": "02-981",
  "companyId": "91117b0c-1ea8-4078-bcb5-ba6291210c07",
  "profileUrl": "https://rejestr-bdo.mos.gov.pl/Application/Preview/Edit/91117b0c-...",
  "sourceUrl": "https://rejestr-bdo.mos.gov.pl/Registry/Index"
}
```

| Field | Description |
|-------|-------------|
| `registryNumber` | BDO registration number (numer rejestrowy) |
| `companyName` | Company/entity name |
| `nip` / `nipEu` | Polish Tax ID and EU VAT number (where applicable) |
| `address` | Registered address as one line |
| `country` / `province` / `district` / `commune` / `city` / `street` / `postalCode` | The address split into fields (kraj / wojewodztwo / powiat / gmina / miejscowosc / ulica / kod pocztowy) |
| `companyId` | The entity's BDO identifier |
| `profileUrl` | Link to the entity's page in the BDO registry |
| `sourceUrl` | Source registry URL |

**What the registry does not publish.** BDO's public search exposes identity and address only. Registration status, waste codes, and the BDO permit tables sit behind a login on the entity's own page, so no tool can return them from the public register - and this Actor does not pretend to. What it answers is the question that actually matters for compliance: **is this company in the BDO register, and what is its BDO number?** An entity that appears here is in the register; one that does not appear is not.

### How much does it cost?

**Pay per result** - you are not charged for Apify platform usage, only a fixed price per record. The price drops on higher Apify subscription tiers.

| Volume | Cost |
|--------|------|
| 1 result | $0.004 |
| 100 results | ~$0.43 |
| 1,000 results | ~$4.03 |
| 10,000 results | ~$40.03 |

Plus a **$0.025** start fee per run. Apify's $5 monthly free credit covers ~1,250 results. No subscription, no minimum.

### Is it legal, and where does the data come from?

Data comes from the official **BDO** registry (Baza danych o produktach i opakowaniach oraz o gospodarce odpadami) at [rejestr-bdo.mos.gov.pl](https://rejestr-bdo.mos.gov.pl/), maintained by the voivodeship Marshal Offices under the Act on Waste (ustawa z dnia 14 grudnia 2012 r. o odpadach). The registry is public - it exists so businesses can verify that a waste handler is registered. Extraction of this public data is permitted; you remain responsible for lawful use downstream.

### How do I use it?

Click **Try it** and paste this input:

```json
{ "query": "Remondis" }
```

Search by company name, NIP, EU NIP, or BDO number, and narrow with `province` to a specific voivodeship.

### Input options

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `query` | string | **Yes** | - | Company name, NIP, NIP EU, or BDO registry number |
| `province` | string | No | all | Filter by voivodeship (e.g. Mazowieckie, Slaskie) |
| `maxResults` | integer | No | `100` | Max results. Set to `0` for unlimited |

**Province options:** Dolnoslaskie, Kujawsko-Pomorskie, Lubelskie, Lubuskie, Lodzkie, Malopolskie, Mazowieckie, Opolskie, Podkarpackie, Podlaskie, Pomorskie, Slaskie, Swietokrzyskie, Warminsko-Mazurskie, Wielkopolskie, Zachodniopomorskie.

### What you can do with it

- **Environmental compliance** - confirm a waste contractor holds a valid BDO registration before signing, as Polish environmental law requires.
- **Contractor due diligence** - confirm a waste-management partner is in the BDO register, and capture its BDO number, before you sign.
- **Supply-chain & ESG audit** - check a whole supplier list against the register in one run and flag the companies that are absent.
- **Manufacturing compliance** - verify the handlers for your production waste streams.
- **Market research** - map the Polish waste-management landscape by region.

### Run it from code

```bash
## cURL - start a run and get the dataset back
curl -X POST "https://api.apify.com/v2/acts/regdata~bdo-waste-registry-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "query": "Remondis" }'
```

```javascript
// Node.js - apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('regdata/bdo-waste-registry-scraper').call({ query: 'Remondis' });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
```

```python
## Python - apify-client
from apify_client import ApifyClient
client = ApifyClient("YOUR_TOKEN")
run = client.actor("regdata/bdo-waste-registry-scraper").call(run_input={"query": "Remondis"})
items = client.dataset(run["defaultDatasetId"]).list_items().items
```

### Integrations

Runs anywhere Apify does: call it from the **REST API**, **schedule** recurring contractor checks, pipe results into **n8n / Make / Zapier**, or use it from any **MCP client** (Claude, Cursor) via [mcp.apify.com](https://mcp.apify.com).

### FAQ

**Is it legal to scrape BDO?** Yes. BDO is an official public registry published so businesses can verify waste handlers. Extraction of public data is permitted; you remain responsible for lawful use downstream.

**Do I need an account or API key?** No. No login, no key, nothing to configure - just an Apify account.

**How do I know a contractor is registered?** Search by their NIP. If they come back with a `registryNumber`, they are in the BDO register; if the search returns nothing, they are not. The public register does not publish a separate status field - that sits behind a login on the entity's own page - so this is the check the public data supports. Re-run periodically to catch companies that drop out of the register.

**Can I filter by region?** Yes. Pass `province` (one of the 16 voivodeships) to scope the search.

**What export formats are supported?** JSON, CSV, Excel, or XML, or read live via the API.

### Limitations

- The 674K+ entity registry is searchable by query/region; it is not exhaustively bulk-exportable in a single query.
- Results reflect the registry's own data freshness.
- Very broad queries return many matches; narrow by NIP or province for a precise check.

### Related actors

Part of a suite of official government registry actors - **no public API to build or maintain**, pay per result, nothing to configure.

| Country | Actors |
|---|---|
| Poland | **BDO (this actor)** · [CRBR](https://apify.com/regdata/crbr-beneficial-owners-scraper) · [KRS (financials)](https://apify.com/regdata/poland-krs-financial-scraper) · [EKW](https://apify.com/regdata/ekw-ksiegi-wieczyste-scraper) · [KNF](https://apify.com/regdata/knf-registry-scraper) · [KRS (board)](https://apify.com/regdata/krs-fullnames-scraper) · [KRZ](https://apify.com/regdata/krz-debtor-scraper) · [MSiG](https://apify.com/regdata/msig-scraper) · [KYB check](https://apify.com/regdata/poland-kyb-check) · [PEP (Sejm)](https://apify.com/regdata/poland-parliamentary-pep-scraper) · [REGON (sites)](https://apify.com/regdata/polish-premises-prospector) · [REGON](https://apify.com/regdata/polish-regon-scraper) · [UOKiK](https://apify.com/regdata/uokik-clauses-scraper) |
| Germany | [Insolvenzbekanntmachungen](https://apify.com/regdata/germany-insolvency-scraper) · [Handelsregister](https://apify.com/regdata/germany-handelsregister-scraper) |
| Spain | [BORME](https://apify.com/regdata/borme-corporate-acts-scraper) · [Registro Mercantil](https://apify.com/regdata/spain-company-directory-scraper) · [Registro Público Concursal](https://apify.com/regdata/spain-concursal-scraper) |
| Italy | [INI-PEC](https://apify.com/regdata/italy-pec-lookup) · [Registro Imprese](https://apify.com/regdata/italy-registro-imprese-scraper) |
| Austria | [Ediktsdatei](https://apify.com/regdata/austria-ediktsdatei-scraper) · [WKO](https://apify.com/regdata/wko-business-directory-scraper) |
| France | [Societe.com](https://apify.com/regdata/societe-com-scraper) |
| Belgium | [KBO / BCE](https://apify.com/regdata/belgium-kbo-company-scraper) |
| Czechia | [ISIR](https://apify.com/regdata/czech-isir-insolvency-scraper) |
| Slovakia | [RPVS](https://apify.com/regdata/slovakia-rpvs-ubo-scraper) |
| Cyprus | [DRCOR](https://apify.com/regdata/cyprus-drcor-company-scraper) |
| Ireland | [CRO](https://apify.com/regdata/ireland-cro-company-scraper) |
| Portugal | [Publicações MJ](https://apify.com/regdata/portugal-corporate-acts-scraper) |
| Nigeria | [CAC](https://apify.com/regdata/nigeria-cac-company-scraper) |
| Colombia | [RUES](https://apify.com/regdata/colombia-rues-company-scraper) |
| USA | [California SoS](https://apify.com/regdata/california-sos-business-scraper) · [California UCC](https://apify.com/regdata/california-ucc-lien-scraper) |
| UAE | [ADGM](https://apify.com/regdata/uae-adgm-public-register-scraper) |
| Global | [Adverse media](https://apify.com/regdata/adverse-media-screener) |

**Common combinations:** company register -> [UBO](https://apify.com/regdata/crbr-beneficial-owners-scraper) -> [insolvency/debtors](https://apify.com/regdata/krz-debtor-scraper) -> [adverse media](https://apify.com/regdata/adverse-media-screener) is the standard KYB/onboarding chain.

For Poland that whole chain is one call: [Poland KYB Risk Check](https://apify.com/regdata/poland-kyb-check) takes a NIP or KRS and returns identity, beneficial owners and insolvency - screened against the company **and every beneficial owner** - as a single verdict, billed once per completed check.

> Full suite: [apify.com/regdata](https://apify.com/regdata) · Callable from any MCP client via [mcp.apify.com](https://mcp.apify.com)

### Informacje po polsku

#### Czym jest ten aktor?

Ten aktor umozliwia automatyczne przeszukiwanie **rejestru BDO** - Bazy danych o produktach i opakowaniach oraz o gospodarce odpadami. Rejestr zawiera ponad 674 000 podmiotow zajmujacych sie wytwarzaniem, zbieraniem, transportem i przetwarzaniem odpadow w Polsce. Portal nie udostepnia publicznego API - aktor zwraca ustrukturyzowane dane JSON. Bez klucza, bez rejestracji.

#### Dla kogo?

Dla **dzialow compliance srodowiskowego** weryfikujacych rejestracje BDO kontrahentow, **firm produkcyjnych** sprawdzajacych lancuchy dostawcow, **audytorow ESG**, **firm gospodarki odpadami** oraz **wladz samorzadowych**.

#### Co mozna sprawdzic?

Wyszukiwanie po nazwie firmy, NIP, NIP EU lub numerze rejestrowym BDO, z filtrem po wojewodztwie. Kazdy wynik zawiera numer rejestrowy, nazwe firmy, NIP, NIP EU oraz pelny adres (wojewodztwo, powiat, gmina, miejscowosc, ulica, kod pocztowy). Ponad 688 000 podmiotow - jedna z najwiekszych baz srodowiskowych w Europie Srodkowej. Bez subskrypcji - placisz wylacznie za uzycie.

***

### Rejestr BDO - baza danych o odpadach online

Przeszukiwanie publicznego Rejestru BDO (Baza Danych o Odpadach) - ponad 674 000 podmiotow. Wyszukiwanie po nazwie, NIP, numerze rejestrowym, z filtrem po wojewodztwie. Niezbedne narzedzie do due diligence srodowiskowego, audytu ESG i weryfikacji kontrahentow w sektorze gospodarki odpadami. Brak publicznego API.

# Actor input Schema

## `query` (type: `string`):

Search by company name, NIP, NIP EU, or BDO registry number.

## `province` (type: `string`):

Filter by province.

## `maxResults` (type: `integer`):

Maximum entities to return. The registry serves 50 per page and the actor pages through until it reaches this limit or runs out of matches. Default: 100. Set to 0 to return every match.

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

Optional. The BDO registry is reachable without a proxy, so you can leave this empty.

## Actor input object example

```json
{
  "query": "Remondis",
  "province": "",
  "maxResults": 100
}
```

# Actor output Schema

## `entities` (type: `string`):

Waste management companies with registry number, NIP, address, province, and registration status.

# 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 = {
    "query": "Remondis"
};

// Run the Actor and wait for it to finish
const run = await client.actor("regdata/bdo-waste-registry-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 = { "query": "Remondis" }

# Run the Actor and wait for it to finish
run = client.actor("regdata/bdo-waste-registry-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 '{
  "query": "Remondis"
}' |
apify call regdata/bdo-waste-registry-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,regdata/bdo-waste-registry-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/SbThWTjCGGb2Sn84y/builds/E3Y9uOCxKiAzywjO0/openapi.json
