Discover/BestParking API
live

BestParking APIbestparking.com

Search parking lots by coordinates, get lot details with pricing quotes, autocomplete locations, and retrieve supported cities via the BestParking API.

Endpoint health
verified 4d ago
get_parking_lot_details
autocomplete_locations
get_supported_cities
search_parking
4/4 passing latest checkself-healing
Endpoints
4
Updated
26d ago

What is the BestParking API?

The BestParking API exposes 4 endpoints covering parking search, lot details, location autocomplete, and city coverage for the BestParking.com platform (powered by ParkWhiz). The search_parking endpoint accepts a lat/lng pair and optional ISO 8601 time window to return per-lot pricing, availability, and curated picks for the cheapest and closest options. Results include bookable quotes for both transient (hourly/daily) and monthly parking.

Try it
Latitude of the search center.
Longitude of the search center.
End time for the parking quote in ISO 8601 format (e.g. 2026-06-12T12:00:00). Defaults to 2 hours after start_time if omitted.
Start time for the parking quote in ISO 8601 format (e.g. 2026-06-12T10:00:00). Defaults to current hour if omitted.
Type of search: 'transient' (hourly/daily) or 'monthly'.
api.parse.bot/scraper/67c0c881-f6f9-4f3d-b4b9-4b26be95160e/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/67c0c881-f6f9-4f3d-b4b9-4b26be95160e/search_parking?lat=40.7128&lng=-74.006&end_time=2026-07-12T12%3A00%3A00&start_time=2026-07-12T10%3A00%3A00&search_type=transient' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

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 bestparking-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.

"""BestParking SDK — find and compare parking near any location."""
from parse_apis.bestparking_api import BestParking, SearchType, LocationNotFound

client = BestParking()

# List supported cities — static reference data.
for city in client.cities.list(limit=5):
    print(city.name, city.slug, city.lat, city.lng)

# Search parking near NYC (transient/hourly).
quote = client.locations.search(
    lat=40.7128, lng=-74.006, search_type=SearchType.TRANSIENT, limit=1
).first()
if quote:
    print(quote.location_id, quote.type, quote.distance.meters)

# Autocomplete a venue search.
results = client.autocompletes.search(query="Chicago")
for suggestion in results.suggestions[:3]:
    print(suggestion.full_name, suggestion.result_type, suggestion.country)
for event in results.events[:2]:
    print(event.name, event.start_time, event.venue_name)

# Handle errors gracefully when searching.
try:
    for q in client.locations.search(lat=0.0, lng=0.0, limit=3):
        print(q.location_id, q.type)
except LocationNotFound as exc:
    print(f"Location not found: {exc.location_id}")

print("exercised: cities.list / locations.search / autocompletes.search")
All endpoints · 4 totalmissing one? ·

Search for parking locations (hourly or monthly) near a specific coordinate. Returns detailed pricing, availability, and curated recommendations (cheapest, closest). When start_time and end_time are omitted, defaults to a 2-hour window starting now. Each result includes full location info, pricing segments, amenities, and booking options.

Input
ParamTypeDescription
latrequirednumberLatitude of the search center.
lngrequirednumberLongitude of the search center.
end_timestringEnd time for the parking quote in ISO 8601 format (e.g. 2026-06-12T12:00:00). Defaults to 2 hours after start_time if omitted.
start_timestringStart time for the parking quote in ISO 8601 format (e.g. 2026-06-12T10:00:00). Defaults to current hour if omitted.
search_typestringType of search: 'transient' (hourly/daily) or 'monthly'.
Response
{
  "type": "object",
  "fields": {
    "data": "array of parking location quotes with pricing and availability",
    "curated_data": "object containing cheapest and closest recommendations"
  },
  "sample": {
    "data": {
      "data": [
        {
          "type": "offstreet",
          "distance": {
            "straight_line": {
              "feet": 518,
              "meters": 157
            }
          },
          "_embedded": {
            "pw:location": {
              "id": "56108",
              "city": "New York",
              "name": "150 Nassau St. Garage",
              "state": "NY",
              "address1": "150 Nassau St.",
              "rating_summary": {
                "rating_count": 1,
                "average_rating": 2
              }
            }
          },
          "location_id": "56108",
          "purchase_options": [
            {
              "price": {
                "USD": "60.99"
              },
              "amenities": [
                {
                  "key": "attended",
                  "name": "Attended"
                },
                {
                  "key": "indoor",
                  "name": "Covered"
                }
              ],
              "space_availability": {
                "status": "available"
              }
            }
          ]
        }
      ],
      "curated_data": {
        "closest": {
          "type": "offstreet",
          "distance": {
            "straight_line": {
              "feet": 518,
              "meters": 157
            }
          },
          "location_id": "56108"
        },
        "cheapest": {
          "type": "offstreet",
          "distance": {
            "straight_line": {
              "feet": 3500,
              "meters": 1066
            }
          },
          "_embedded": {
            "pw:location": {
              "id": "5147",
              "city": "New York",
              "name": "Impark - 55 Water St. Garage",
              "state": "NY",
              "address1": "41 Old Slip"
            }
          },
          "location_id": "5147",
          "purchase_options": [
            {
              "price": {
                "USD": "19.22"
              },
              "space_availability": {
                "status": "available"
              }
            }
          ]
        }
      }
    },
    "status": "success"
  }
}

About the BestParking API

Search and Pricing

The search_parking endpoint is the core of the API. Pass lat, lng, and optionally start_time and end_time in ISO 8601 format to receive an array of nearby parking locations in data, each with pricing and availability for the requested window. If times are omitted, the endpoint defaults to a 2-hour window starting at the current hour. The curated_data object in the response breaks out the cheapest and closest recommendations so you don't need to sort client-side. Set search_type to 'transient' for hourly/daily results or 'monthly' for monthly parking quotes.

Lot Details

get_parking_lot_details takes a location_id (returned by search_parking) and optional start_time/end_time parameters. With times, it returns purchase_options — an array of bookable pricing options for that window. Without times, it returns static location metadata from _embedded.pw:location: name, address, city, description, rating summary, and hours of operation. The time range should match the lot's pricing type (short-term or monthly) to get relevant quotes.

Autocomplete and City Coverage

autocomplete_locations accepts a free-text query and returns two arrays: autocomplete (location suggestions with id, full_name, address, and coordinates) and events (upcoming events near matching venues, each with name, start_time, end_time, and venue info). This makes it straightforward to resolve a user-typed string to a location_id or a lat/lng pair before calling search_parking.

get_supported_cities takes no inputs and returns a cities array where each object contains name, slug, lat, and lng. Use this to build city-picker UIs or to seed coordinate-based searches without a geocoder.

Reliability & maintenanceVerified

The BestParking API is a managed, monitored endpoint for bestparking.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when bestparking.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 bestparking.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.

Last verified
4d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Find the cheapest parking near a venue by passing event coordinates to search_parking and reading curated_data.cheapest.
  • Display real-time parking prices for a neighborhood map by querying search_parking with a center coordinate and a specific time window.
  • Resolve a user-typed address or landmark to parking options by chaining autocomplete_locations into search_parking.
  • Show full lot details — hours, ratings, and bookable options — by calling get_parking_lot_details with a location_id from search results.
  • Build a monthly parking finder for commuters by passing search_type: 'monthly' to search_parking.
  • Populate a city selector for a parking app using the name, slug, lat, and lng fields from get_supported_cities.
  • Surface upcoming events near a searched location alongside parking suggestions using the events array from autocomplete_locations.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 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.

Frequently asked questions
Does BestParking have an official public developer API?+
BestParking does not publish a documented public developer API. The underlying platform is ParkWhiz, which has historically offered partner API access, but there is no self-serve developer portal openly available for BestParking specifically.
What does `search_parking` return beyond a list of lots?+
In addition to the data array of lot quotes — each with pricing and availability — the response includes a curated_data object that pre-selects the cheapest and closest options for the searched coordinates and time window. This saves a client-side sort for common UI patterns.
Does `get_parking_lot_details` always return pricing?+
Only when start_time and end_time are provided. Without a time range, the endpoint returns static location metadata (name, address, city, description, rating_summary, hours) but the purchase_options array will be absent or empty. Supply times that match the lot's pricing type — transient or monthly — to get bookable quote data.
Does the API cover parking availability for airports or specific garages outside supported cities?+
The API covers cities listed by get_supported_cities, and lot results are tied to the BestParking/ParkWhiz inventory for those areas. Garages or regions not in that inventory will not appear in search_parking results. You can fork this API on Parse and revise it to add endpoints targeting additional regions or data sources.
Can I retrieve booking or reservation history through this API?+
No reservation or booking history endpoints are included. The API covers search, lot details, autocomplete, and city listings. You can fork it on Parse and revise to add an endpoint targeting reservation or booking data if that surface is accessible.
Page content last updated . Spec covers 4 endpoints from bestparking.com.
Related APIs in Maps GeoSee all →
spotangels.com API
Find real-time parking availability, pricing, and deals across supported cities by searching locations or addresses, with options to filter by parking type (hourly, monthly, free, or garages). Get detailed information about specific parking spots including rates and locations to make informed parking decisions on the go.
parclick.com API
Search for parking spaces across locations and airports, compare pricing and availability in real-time, and browse monthly subscription options with detailed facility information. Quickly find parking solutions by autocompleting locations and discovering available cities all in one place.
eventup.com API
Search EventUp for event venues by city, browse featured venues, fetch available venue filter facets for a location, and get autocomplete suggestions for venue and place queries.
turo.com API
Search for peer-to-peer car rentals across Turo by location and dates to browse available vehicles with pricing, specifications, and real-time availability. Get detailed information on specific cars to compare features and make rental decisions.
plugshare.com API
Search for EV charging stations worldwide by location and radius. Retrieve real-time availability, connector types, user reviews, and amenity details for any station. Filter by residential or commercial property type to find chargers at apartment complexes, parking facilities, and more.
peerspace.com API
Search and explore Peerspace venue listings by location and activity type. Retrieve paginated search results with pricing, ratings, capacity, and amenities, then fetch full listing details including equipment, host information, and availability.
nycgovparks.org API
Access events, park locations, and programs across New York City's parks system. Search and filter events by category, retrieve detailed event and park information, and explore recreation programs offered by the NYC Department of Parks & Recreation.
hertz.com API
Search Hertz rental locations and instantly compare available vehicles with real-time pricing, fees, and vehicle features for your desired pickup and dropoff dates. Find the perfect rental car deal by browsing inventory across multiple locations and filtering by your travel needs.