Parking Intelligence API

Overview

The Parking Intelligence API provides access to parking area information with support for radius-based searches and route-based queries. Most endpoints return parking areas with detailed information including location (latitude/longitude), address, services, ratings, and current_occupancy. The premium endpoints additionally return forecasted_occupancy, ranking, and driving time to each area.


Authentication

All API endpoints require authentication via an API key. Include the key in every request using the x-api-key header.

Header Required Description
x-api-key Yes Your API key. Contact us to obtain one.

Requests without a valid key receive 401 Unauthorized (API key is required or Invalid API key).


Idempotency

To safely retry requests (e.g. after a timeout or network error), send an Idempotency-Key header with a unique value per logical operation. The same key within the validity window is treated as a duplicate of the original request.

Header Required Description
Idempotency-Key No Unique string per operation (e.g. UUID). Reuse the same value only for retries.

Behavior:

Keys are valid for 24 hours. After that, the same key is treated as a new request.


Endpoints

1. Get Nearby Parking Areas

Find parking areas within a specified radius of a given location.

Endpoint

GET /radius/nearby-areas

Query Parameters

Parameter Type Required Description Constraints
lat number Yes Latitude of the search center -90 to 90
long number Yes Longitude of the search center -180 to 180
radiusKm number No Search radius in kilometers 0.1 to 500 (default: 10)
services string[] No Filter by available services Comma-separated or array of service enum values

Services Filter

The services parameter accepts either:

Available Service Values:

Example Request

GET /radius/nearby-areas?lat=52.472792&long=13.429169&radiusKm=15&services=wc,freeParking,supermarket

Notes


2. Get Parking Areas Along Route (Coordinates)

Find parking areas along a route between two coordinate points.

Endpoint

GET /routing/areas-along-route

Query Parameters

Parameter Type Required Description Constraints
originLat number Yes Origin latitude -90 to 90
originLong number Yes Origin longitude -180 to 180
destinationLat number Yes Destination latitude -90 to 90
destinationLong number Yes Destination longitude -180 to 180
radiusKm number No Search radius in km from the route 0.1 to 500 (default: 3)
services string[] No Filter by available services Comma-separated or array of service enum values

Example Request

GET /routing/areas-along-route?originLat=52.472792&originLong=13.429169&destinationLat=50.935573&destinationLong=6.939446&radiusKm=3&services=wc,restaurant

Notes


3. Get Parking Areas Along Route (Addresses)

Find parking areas along a route between two addresses. Addresses are automatically geocoded to coordinates.

Endpoint

GET /routing/areas-along-route-by-address

Query Parameters

Parameter Type Required Description Constraints
originAddress string Yes Origin address (e.g., "Berlin, Germany") Max 500 characters
destinationAddress string Yes Destination address (e.g., "Munich, Germany") Max 500 characters
radiusKm number No Search radius in km from the route 0.1 to 500 (default: 3)
services string[] No Filter by available services

Example Request

GET /routing/areas-along-route-by-address?originAddress=Berlin,%20Germany&destinationAddress=Munich,%20Germany&radiusKm=3&services=wc,freeParking

4. Get Premium Optimal Parking (Coordinates)

Find and rank the best parking areas for a premium optimal-parking decision based on remaining driving time, forecasted occupancy (based on when we expect the driver to arrive to the particular area) and detailed scoring logic.

Endpoint

GET /premium/optimal-parking

Query Parameters

Parameter Type Required Description Constraints
originLat number Yes Origin latitude -90 to 90
originLong number Yes Origin longitude -180 to 180
destinationLat number Yes Destination latitude -90 to 90
destinationLong number Yes Destination longitude -180 to 180
remainingDrivingTimeSeconds number Yes Remaining driving time until the parking decision 0 to 21600
radiusKm number No Search radius in km from the route (default: 3) 0.1 to 500 (default: 3)
services string[] No Filter by available services Comma-separated or array

Example Request

GET /premium/optimal-parking?originLat=52.472792&originLong=13.429169&destinationLat=50.935573&destinationLong=6.939446&remainingDrivingTimeSeconds=16200&radiusKm=3&services=wc,restaurant

Notes


5. Get Premium Optimal Parking (With Addresses)

Premium optimal parking using origin/destination addresses instead of coordinates (addresses are geocoded).

Endpoint

GET /premium/optimal-parking-with-addresses

Query Parameters

Parameter Type Required Description Constraints
originAddress string Yes Origin address Max 500 characters
destinationAddress string Yes Destination address Max 500 characters
remainingDrivingTimeSeconds number Yes Remaining driving time until the parking decision 0 to 21600
radiusKm number No Search radius in km from the route (default: 3) 0.1 to 500 (default: 3)
services string[] No Filter by available services Comma-separated or array

Example Request

GET /premium/optimal-parking-with-addresses?originAddress=Berlin,%20Germany&destinationAddress=Munich,%20Germany&remainingDrivingTimeSeconds=16200&radiusKm=3&services=wc,freeParking

Notes

Response Format

Parking Area Object

All endpoints return an array of parking area objects with the following structure:

{
  name: string;
  address: {
    street: string;
    city: string;
    country_code: string;
    zip_code: string;
  };
  services: string[];
  average_rating?: number; // Optional, only present if ratings exist
  current_occupancy: number;        // Always present: 1, 2, or 3
  location: {
    latitude: number;
    longitude: number;
  };
  capacity?: number;                // Optional, truck parking slot count when available
}

Premium Parking Area Object

Premium endpoints (/premium/optimal-parking*) return a richer object for each parking area. They keep the base parking fields, but replace current_occupancy with forecasted_occupancy and include ranking metadata.

{
  name: string;
  address: {
    street: string;
    city: string;
    country_code: string;
    zip_code: string;
  };
  services: string[];
  average_rating?: number; // Optional, only present if ratings exist
  location: {
    latitude: number;
    longitude: number;
  };
  capacity?: number;

  forecasted_occupancy: number; // 1-3 (computed for expected arrival time)
  driving_time_to_area?: number; // seconds
  rank: number; // 1 = best
}

Response Fields

Field Type Description
name string Name of the parking area
address object Address information
address.street string Street name
address.city string City name
address.country_code string ISO 3166-1 alpha-2 country code
address.zip_code string Postal/ZIP code
services string[] Array of available services
average_rating number or null Average user rating via the LKW app (1-5 scale, rounded to 1 decimal) or null if no ratings
current_occupancy number Current occupancy level: 1 (available), 2 (limited), or 3 (full)
location object Latitude and longitude of the parking area
location.latitude number Latitude
location.longitude number Longitude
capacity number Number of truck parking slots (only present when available)
type string Type of parking area: public, industrial, or alternative

Premium-only fields:

Field Type Description
forecasted_occupancy number Occupancy level (1=available, 2=limited, 3=full) computed for expected arrival time
driving_time_to_area number Seconds from route start until reaching this area's nearest point on the route (if available)
rank number Rank of this area among the returned premium results (1 = best)

Note: premium endpoints replace current_occupancy with forecasted_occupancy.

Examples

Example 1: Find nearby parking with specific services

curl "<[BASEURL]/radius/nearby-areas?lat=52.472792&long=13.429169&radiusKm=20&services=wc,restaurant,wifi>"

Example 2: Find parking along route with coordinates

curl "<[BASEURL]/routing/areas-along-route?originLat=52.472792&originLong=13.429169&destinationLat=50.935573&destinationLong=6.939446&services=freeParking>"

Example 3: Find parking along route with addresses

curl "<[BASEURL]/routing/areas-along-route-by-address?originAddress=Berlin,%20Germany&destinationAddress=Munich,%20Germany&services=wc,supermarket>"

Example 4: Multiple services as array

curl "<[BASEURL]/radius/nearby-areas?lat=52.472792&long=13.429169&services[]=wc&services[]=freeParking&services[]=supermarket>"

Example 5: Premium optimal parking (coordinates)

curl "<[BASEURL]/premium/optimal-parking?originLat=52.472792&originLong=13.429169&destinationLat=50.935573&destinationLong=6.939446&remainingDrivingTimeSeconds=16200&radiusKm=3&services=wc,restaurant>"

Example 6: Premium optimal parking (with addresses)

curl "<[BASEURL]/premium/optimal-parking-with-addresses?originAddress=Berlin,%20Germany&destinationAddress=Munich,%20Germany&remainingDrivingTimeSeconds=16200&radiusKm=3&services=wc,freeParking>"