canonical: https://jentic.com/apis/mojepanstwo.pl/mojepanstwo

# Mojepanstwo Pl MojePanstwo API

MojePanstwo is the largest open public-data catalogue in Poland, exposing datasets from the Polish government, statistical office, and public registers through a uniform JSON API. The v3 API offers two endpoints - list rows in a dataset and fetch a single row by ID - covering hundreds of datasets including company registries, court rulings, and central statistical office (BDL) indicators. Access is unauthenticated and the API is free for civic-tech, journalism, and data-enrichment use cases.

## For AI agents

Query Polish open public datasets including company registries, court records, and statistical indicators by listing rows or fetching a single row by ID.

## Scope

Does not provide write access, real-time alerts, or cross-dataset joins - use for read-only row listing and single-record retrieval against Polish public datasets only.

## Capabilities

- List rows in a Polish public dataset filtered by query parameters
- Fetch a single record by ID from any MojePanstwo dataset
- Look up a Polish company by KRS number using the company-registry dataset
- Pull BDL Central Statistical Office indicators for a given region
- Search Polish court rulings by dataset and ID for journalism research

## Use cases

### Polish Company Lookup

Civic-tech tools and KYC pipelines look up Polish company records by KRS or REGON number using the company-registry dataset exposed through MojePanstwo. GET `/dane/{dataset}/{id}` returns the structured record for a single company including registered address, board members, and capital, drawing on official public registers. Integration is a single endpoint and is typically wired up in an afternoon.

Example prompt: Fetch the MojePanstwo record for KRS number 0000123456 via GET `/dane/krs_podmioty/0000123456` and return the company name and registered address

### Public Statistics Dashboard

Build a regional dashboard of Polish demographics, economic indicators, or budget figures by listing rows from BDL or budget datasets. GET `/dane/{dataset}` accepts query filters such as region or year and returns paginated rows that the dashboard renders as charts. Useful for journalists, NGOs, and academic researchers.

Example prompt: List rows from the bdl dataset filtered by region 'Mazowieckie' and year 2024, and return the population and unemployment indicators

### Journalism Research on Court Rulings

Investigative journalists query the MojePanstwo court-rulings dataset to find decisions matching keywords, parties, or dates. GET `/dane/{dataset}` returns matching rows with case identifiers, and GET `/dane/{dataset}/{id}` fetches the full text or metadata for each ruling. The unauthenticated API removes friction for newsrooms with limited engineering capacity.

Example prompt: List rulings in the orzeczenia dataset filtered by keyword and pull the full record for the top three matches

### Agent-Driven Polish KYC Enrichment via Jentic

Use a Jentic-connected agent to enrich a list of Polish counterparty names with KRS numbers, registered addresses, and board members before a contract is signed. The agent searches Jentic for the dataset operation, loads the schema, and walks the list without bespoke integration code.

Example prompt: For 20 Polish counterparty names, search the krs_podmioty dataset and return each name with its KRS number, registered address, and current management board

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/dane/{dataset}` | List rows from a Polish public dataset with optional filters |
| GET | `/dane/{dataset}/{id}` | Fetch a single record by ID from a dataset |

## Key resources

- **Datasets** — List and fetch rows across hundreds of Polish public datasets via dataset slug and row ID

## Why Jentic

- **Setup:** Wiring the MojePanstwo API by hand means coding the dataset and record calls against Polish-language docs, even though it needs no auth. Through Jentic you install once, import the MojePanstwo API from the API Directory, and your agent calls it with no key to manage.
- **Permission scoping:** MojePanstwo puts the dataset and record id in the URL path (`/dane/{dataset}/{id}`), so a rule can pin your agent to one dataset for read-only listing and single-record lookups. All listed operations are read-only, so you allow only the retrieval the agent needs.
- **Credential handling:** MojePanstwo needs no credentials, so there is nothing to store; any key the project later introduces would be stored once, encrypted, by your own Jentic One instance and injected at execution time, never entering the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'look up a Polish company by KRS', and Jentic returns the GET `/dane/{dataset}/{id}` operation with its path schema so the agent calls the right endpoint without scrolling the Polish-language docs.

## Related APIs

- **GitHub API** — GitHub API hosts and runs the civic-tech tooling that consumes MojePanstwo data.
- **Google Sheets API** — Google Sheets API receives the rows queried from MojePanstwo for non-engineer analysts.
- **OpenAI API** — OpenAI API summarises Polish-language records pulled from MojePanstwo into English briefs.

## FAQ

### What authentication does the MojePanstwo API use?

The MojePanstwo v3 API is publicly accessible and does not require authentication - the OpenAPI spec declares no security schemes. Civic-tech projects, journalists, and developers can call `/dane/{dataset}` and `/dane/{dataset}/{id}` directly. Through Jentic, no credential is needed and execution simply proxies the request.

### Can I look up a Polish company by KRS number?

Yes. The krs_podmioty dataset (and related datasets) exposes Polish company registry data. GET `/dane/krs_podmioty/{id}` returns the structured record for a single KRS number including the company name, registered address, capital, and management board entries.

### What are the rate limits for the MojePanstwo API?

The OpenAPI spec does not declare numeric rate limits. MojePanstwo is a community and NGO-funded project and asks integrators to be considerate - cache results aggressively, batch lookups where practical, and avoid tight loops. Treat 429 or 503 responses as a signal to back off.

### How do I list rows in a Polish dataset through Jentic?

Run pip install jentic, then search Jentic for 'list rows from a Polish open dataset'. Jentic returns the GET `/dane/{dataset}` operation with its path and query schema. Load the schema, pass the dataset slug and any filters, and execute. The response includes paginated rows.

### Which Polish datasets are available?

MojePanstwo aggregates hundreds of datasets including KRS company registry (krs_podmioty), Central Statistical Office indicators (bdl), court rulings (orzeczenia), public budgets, and regulatory filings. The dataset slug is the path parameter on `/dane/{dataset}`; the full catalogue is browsable at api-v3.mojepanstwo.pl.

### Can I limit what my agent is allowed to do with the MojePanstwo API?

Yes. Because you run Jentic One yourself, your own rules decide which MojePanstwo operations and datasets your agent may call. Since the dataset and record id sit in the URL path (`/dane/{dataset}` and `/dane/{dataset}/{id}`), you can pin the agent to a single dataset such as krs_podmioty and allow only listing rows or fetching one record by ID. Every listed operation is read-only, so you grant just the retrieval the agent needs and nothing more.
