CEIDG (Poland)
GET/v0/pl/ceidg
Validates Polish NIP numbers and optionally looks up the entity in the CEIDG register (Centralna Ewidencja i Informacja o Działalności Gospodarczej — Central Registration and Information on Business Activity). CEIDG covers sole proprietors and civil partnerships (spółki cywilne) only — companies registered in the KRS (sp. z o.o., S.A., etc.) are not present. Validation uses the official NIP checksum algorithm (weighted sum mod 11). Input may include hyphens or spaces — they are ignored before validation.
Try it
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| value | string | Yes | The NIP number to validate (10 digits). Hyphens and spaces are ignored (e.g. 526-104-08-28 and 5261040828 are equivalent). |
| lookup | boolean | No | When true, performs a live lookup against the official Polish CEIDG government API and returns entity details. |
Example Request
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://api.isvalid.dev/v0/pl/ceidg?value=5261040828&lookup=true"
Response Fields
| Field | Type | Description |
|---|---|---|
| valid | boolean | Whether the NIP checksum is correct |
| nip | string | NIP in canonical hyphenated format (NNN-NNN-NN-NN). Only present when valid is true. |
| ceidg | object | Live lookup result. Present only when lookup=true. See The ceidg object below. |
The ceidg object
When the lookup failed (checked: false):
| Field | Type | Description |
|---|---|---|
| checked | boolean | false |
| reason | string | unavailable — the CEIDG API could not be reached or the API key is not configured |
When the lookup succeeded (checked: true):
| Field | Type | Description |
|---|---|---|
| checked | boolean | true |
| found | boolean | Whether the entity was found in the CEIDG register |
| status | string | null | Registration status: active, suspended, or deleted |
| firstName | string | null | First name of the owner |
| lastName | string | null | Last name of the owner |
| businessName | string | null | Registered business name |
| regon | string | null | Statistical identification number (REGON) |
| city | string | null | City of the registered business address |
| postalCode | string | null | Postal code |
| street | string | null | Street name |
| houseNumber | string | null | Building/house number |
| flatNumber | string | null | Flat/apartment number |
| startDate | string | null | Date of business commencement (ISO 8601, YYYY-MM-DD) |
| pkd | string[] | All PKD codes (Polish Classification of Activities) registered for this entity. Use GET /v0/pl/pkd to decode each code into its full name and hierarchy. |
| primaryPkd | string | null | Primary (predominant) PKD code |
Example Response
{
"valid": true,
"nip": "526-104-08-28",
"ceidg": {
"checked": true,
"found": true,
"status": "active",
"firstName": "Jan",
"lastName": "Kowalski",
"businessName": "JK CONSULTING JAN KOWALSKI",
"regon": "147123456",
"city": "Warszawa",
"postalCode": "00-001",
"street": "Marszałkowska",
"houseNumber": "1",
"flatNumber": "2",
"startDate": "2015-03-01",
"pkd": ["70.22.Z", "74.90.Z", "63.11.Z"],
"primaryPkd": "70.22.Z"
}
}