NVBW API (1.1.0)

Download OpenAPI specification:

Retrieve eligible car park data across all 16 German federal states. Austria is excluded. Coverage depends on available records in the source systems.

Authentication

Every request requires HTTPS mutual TLS (mTLS). Configure the supplied password-protected PFX/PKCS#12 client certificate for nvbw.contipark-api.de and use the passphrase supplied separately. Keep server certificate validation enabled. The certificate and passphrase are not embedded in this document. This HTML file is an API reference; execute requests with an mTLS-capable client.

Quick start

Base URL: https://nvbw.contipark-api.de/v1

  1. Retrieve identifiers with GET /carpark-ids.
  2. Retrieve one car park with GET /carpark-data?globalId=de-example-001. Identifiers shown in this documentation are fictional; obtain actual IDs from the authenticated discovery endpoint.
  3. Retrieve full records in pages with GET /carparks?offset=0&limit=150.

Pagination

Explicitly request limit=150 for more execution-time headroom. The server default when omitted and the maximum remain 250. A page may contain fewer records than requested: always use pagination.nextOffset for the next request and stop when it is null. Do not advance by the requested limit. For example, if returned=146 and nextOffset=146, continue with GET /carparks?offset=146&limit=150. Data is live, not a snapshot; additions and deletions can shift offsets between requests.

Publication rules

Global IDs are internal and must not be published. Response fields indicate whether they may be published using their public flag; id.public remains false. A public identifier is not available in this release.

Get car park IDs

Returns all eligible German car park Global IDs. Austria is excluded.

Authorizations:
clientCertificate

Responses

Response samples

Content type
application/json
Example
[
  • "de-example-001",
  • "de-example-002",
  • "de-example-003",
  • "de-example-004",
  • "de-example-005"
]

Get car park data

Returns comprehensive data for a specific car park, including basic information, gates, dimensions, operations, opening hours, parking spots, charging stations, tags, and consumer management details.

Authorizations:
clientCertificate
query Parameters
globalId
required
string non-empty
Example: globalId=de-example-001

Unique global identifier of the car park

Responses

Response samples

Content type
application/json
{
  • "id": {
    },
  • "type": {
    },
  • "namePublicDE": {
    },
  • "namePublicEN": {
    },
  • "gates": [
    ],
  • "dimensions": {
    },
  • "operations": {
    },
  • "generalInformation": {
    },
  • "station": {
    },
  • "bahnPark": {
    },
  • "openingHours": {
    },
  • "parkingSpots": {
    },
  • "chargingStations": {
    },
  • "tags": {
    },
  • "consumerManagement": {
    }
}

Get paginated car park data

Returns complete details for eligible German car parks, sorted by Global ID. Clients should explicitly request limit=150 to leave more execution-time headroom. Omitting limit still defaults to up to 250 items. Time and payload budgets can shorten a page: always continue using nextOffset, never offset + limit. The dataset is live, not a snapshot; insertions or deletions between requests can shift offsets. Global IDs remain internal and must not be published.

Authorizations:
clientCertificate
query Parameters
offset
integer [ 0 .. 9007199254740991 ]
Default: 0
limit
integer [ 1 .. 250 ]
Default: 250
Example: limit=150

Recommended client page size: 150. The server default and maximum remain 250. Pages may still be shortened by time or payload budgets.

Responses

Response samples

Content type
application/json
{
  • "data": [
    ],
  • "pagination": {
    }
}