Parclick APIparclick.com ↗
Access Parclick parking data via API. Search facilities by coordinates, compare prices, get detailed amenities and reviews for parking across European cities.
What is the Parclick API?
The Parclick API exposes 7 endpoints covering parking search, airport parking, monthly subscriptions, facility details, and city discovery across European locations. Pass latitude/longitude coordinates and a time window to search_parking and get back paginated results with facility names, addresses, pricing passes, and amenities. Separate endpoints handle airport-specific lots with terminal and shuttle data, and long-term monthly subscription options.
curl -X GET 'https://api.parse.bot/scraper/c57e45a6-ec0a-43e6-be16-a8ac8152a897/search_parking?limit=200&query=Barcelona&radius=26000&latitude=41.3851&longitude=2.1734&vehicle_type=1&arrival_datetime=2026-07-20+10%3A00&departure_datetime=2026-07-20+18%3A00' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace parclick-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Parclick Parking API — find parking across European cities, compare prices, get details."""
from parse_apis.parclick_parking_api import Parclick, FacilityNotFound
client = Parclick()
# Search for parking near Barcelona city center
for facility in client.facilitysummaries.search(
latitude=41.3851, longitude=2.1734,
arrival_datetime="2026-07-01 10:00",
departure_datetime="2026-07-01 18:00",
limit=3,
):
print(facility.name, facility.address, facility.parking_category_name)
# Drill into the first result for full details
summary = client.facilitysummaries.search(
latitude=41.3851, longitude=2.1734,
arrival_datetime="2026-07-01 10:00",
departure_datetime="2026-07-01 18:00",
limit=1,
).first()
if summary:
detail = summary.details()
print(detail.name, detail.latitude, detail.longitude)
# Get pricing products for the facility
products = detail.get_products(
arrival_datetime="2026-07-01 10:00",
departure_datetime="2026-07-01 18:00",
)
for p in products.passes.multipass:
print(p.name, p.price, p.product_description)
# Autocomplete a city name and get coordinates
for suggestion in client.locationsuggestions.search(query="Madrid", limit=3):
print(suggestion.name, suggestion.latitude, suggestion.longitude)
# List available cities
for city in client.cities.list(limit=5):
print(city.name, city.slug, city.timezone)
# Handle a missing facility gracefully
try:
client.facilities.get(slug="nonexistent-parking-xyz")
except FacilityNotFound as exc:
print(f"Facility not found: {exc}")
print("Exercised: facilitysummaries.search / details / get_products / locationsuggestions.search / cities.list / facilities.get")
Search for available parking facilities based on geographic coordinates and time window. Returns paginated results with pricing, amenities, and location information for each facility. Search radius defaults to 26km. Results include pass pricing for the requested time window.
| Param | Type | Description |
|---|---|---|
| limit | integer | Maximum number of results per page. |
| query | string | Optional search label (city name, address). Used as display context; coordinates determine actual search location. |
| radius | integer | Search radius in meters. |
| latituderequired | number | Latitude of the search center point. |
| longituderequired | number | Longitude of the search center point. |
| vehicle_type | integer | Vehicle type ID (1=car). |
| arrival_datetimerequired | string | Arrival date and time in format YYYY-MM-DD HH:MM. |
| departure_datetimerequired | string | Departure date and time in format YYYY-MM-DD HH:MM. |
{
"type": "object",
"fields": {
"page": "current page number (integer)",
"items": "array of parking facility objects with id, name, slug, address, city, passes (pricing), coordinates, amenities, and review summary",
"limit": "results per page (integer)",
"pages": "total number of pages (integer)",
"total": "total number of matching facilities (integer)"
},
"sample": {
"data": {
"page": 1,
"items": [
{
"id": 238,
"zip": "08002",
"city": "Barcelona",
"name": "SABA Catedral",
"slug": "saba_catedral",
"access": [
{
"type": "vehicle",
"latitude": 41.385156710893,
"longitude": 2.1765397664948
}
],
"passes": [
{
"id": 123231,
"type": "daily",
"price": 17.99,
"onepass": false,
"duration": 24,
"multipass": true,
"price_with_administration_fee": 20.82
}
],
"address": "Avenida de la Catedral, 8",
"country": "Spain",
"covered": true,
"latitude": 41.385156710893,
"open_24h": true,
"province": "Barcelona",
"security": true,
"city_slug": "barcelona",
"longitude": 2.1765397664948,
"max_height": 200,
"giving_keys": false,
"flexible_entry": true,
"reviews_summary": {
"totalScore": 4.59,
"totalReviews": 96
},
"handicapped_access": true,
"parkingCategoryName": "City Center"
}
],
"limit": 200,
"pages": 1,
"total": 299
},
"status": "success"
}
}About the Parclick API
Search and Discovery
The core search_parking endpoint accepts required latitude, longitude, arrival_datetime, and departure_datetime parameters and returns paginated facility objects — each with an id, name, slug, address, city, coordinates, passes (pricing), and amenities. The optional radius parameter controls how far from the center point to look, and limit controls page size. A total and pages field in the response lets you paginate through large result sets. search_airport_parking mirrors this interface but returns airport-specific facilities that include terminal and shuttle information alongside standard pricing.
Facility Details and Pricing
get_parking_details takes a facility slug (returned by the search endpoints) and returns the full record: an HTML description, reviews object with total_score and total_reviews, passes, precise coordinates, and access points. To query time-specific pricing, get_parking_products takes a parking_id plus an arrival/departure window and returns pass options broken into onepass, multipass, and netpass arrays, plus event_passes and a subscriptions object with monthly, labor, and nightly keys — useful when the same facility has different pricing structures depending on the booking type.
Monthly Subscriptions
search_monthly_subscription uses the same coordinate-and-datetime interface as regular search but filters specifically for facilities that offer long-term parking passes. This is distinct from the subscriptions field in get_parking_products, which gives per-facility subscription options once you already have a parking_id.
Location Utilities
autocomplete_location matches city names from a partial string (e.g. 'Barc' returns Barcelona and variants), returning each city's id, name, slug, latitude, longitude, and country_name. get_cities returns the full set of cities where Parclick operates, including timezone, locale slugs, review metadata, and media assets for each city — useful for building city-picker UIs or understanding coverage before running coordinate-based searches.
The Parclick API is a managed, monitored endpoint for parclick.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when parclick.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official parclick.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Find cheapest parking near a given address by comparing
passespricing acrosssearch_parkingresults. - Build an airport parking comparison tool using
search_airport_parkingterminal and shuttle fields. - Surface monthly parking options for commuters using
search_monthly_subscriptionwith a multi-week date window. - Display facility reviews and star ratings by consuming
total_scoreandtotal_reviewsfromget_parking_details. - Power a city-picker autocomplete with
autocomplete_locationfor Parclick-covered cities. - Enumerate all covered European cities and their coordinates using
get_citiesto seed a mapping interface. - Distinguish event-day pricing from regular rates using
event_passesinget_parking_products.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Parclick have an official developer API?+
What does `get_parking_products` return that `search_parking` does not?+
search_parking includes basic passes pricing in each facility object. get_parking_products gives a full breakdown keyed by pass type — onepass, multipass, netpass, event_passes, and subscription categories (monthly, labor, nightly) — for a specific parking_id and time window. Use it when you need granular pricing tiers rather than the summary included in search results.Does the API cover parking outside Europe?+
get_cities or search results. You can fork the API on Parse and revise it to point at additional sources or geographies if you need broader coverage.Can I retrieve a list of reviews for a specific facility?+
get_parking_details returns a reviews object containing a reviews array alongside total_score and total_reviews. There is no standalone endpoint for filtering or paginating reviews independently. You can fork the API on Parse and revise it to add a dedicated reviews endpoint if that level of control is needed.How does pagination work across search endpoints?+
search_parking, search_airport_parking, search_monthly_subscription) return page, pages, limit, and total fields. Increment the page parameter in successive requests to walk through results. get_cities fetches all pages internally and returns a single combined items array with a total count.