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

ParameterTypeRequiredDescription
valuestringYesThe NIP number to validate (10 digits). Hyphens and spaces are ignored (e.g. 526-104-08-28 and 5261040828 are equivalent).
lookupbooleanNoWhen 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

FieldTypeDescription
validbooleanWhether the NIP checksum is correct
nipstringNIP in canonical hyphenated format (NNN-NNN-NN-NN). Only present when valid is true.
ceidgobjectLive lookup result. Present only when lookup=true. See The ceidg object below.

The ceidg object

When the lookup failed (checked: false):

FieldTypeDescription
checkedbooleanfalse
reasonstringunavailable — the CEIDG API could not be reached or the API key is not configured

When the lookup succeeded (checked: true):

FieldTypeDescription
checkedbooleantrue
foundbooleanWhether the entity was found in the CEIDG register
statusstring | nullRegistration status: active, suspended, or deleted
firstNamestring | nullFirst name of the owner
lastNamestring | nullLast name of the owner
businessNamestring | nullRegistered business name
regonstring | nullStatistical identification number (REGON)
citystring | nullCity of the registered business address
postalCodestring | nullPostal code
streetstring | nullStreet name
houseNumberstring | nullBuilding/house number
flatNumberstring | nullFlat/apartment number
startDatestring | nullDate of business commencement (ISO 8601, YYYY-MM-DD)
pkdstring[]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.
primaryPkdstring | nullPrimary (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"
  }
}