Documentation Index Fetch the complete documentation index at: https://docs.bookovia.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Places Search endpoint provides powerful text-based search across 19.7 million points of interest including businesses, landmarks, and public facilities. It supports spatial filtering to prioritize results near a specific location and category filtering to narrow results by type.
Built on Overture Maps data with 19.7M+ POIs including restaurants, shops, hotels, and landmarks across the United States.
Authentication
This endpoint requires authentication via API key in the X-API-Key header.
Required permissions: geocoding:read
Request
Search query text (e.g., “starbucks”, “pizza near me”, “hotels”) Supports fuzzy matching and partial text search
Center point latitude for spatial ranking (-90 to 90) When provided with lon, results are sorted by relevance and proximity
Center point longitude for spatial ranking (-180 to 180) Required if lat is provided
Search radius in kilometers (0.1 to 100) Only returns results within this distance from center point Default: 50
Filter by category (e.g., “restaurant”, “coffee_shop”, “hotel”) Multiple categories not supported (use separate requests)
Maximum number of results to return (1 to 100) Default: 20
Request Example
curl -X GET "https://api.bookovia.com/v1/places/search?q=starbucks&lat=40.7128&lon=-74.0060&radius=5&limit=10" \
-H "X-API-Key: bkv_test_your_api_key_here"
Response
Indicates whether the request was successful
Number of places returned in this response
Array of place objects matching the search criteria Unique place identifier (Overture GERS ID)
Place name (e.g., “Starbucks”, “Central Park”)
Primary category (e.g., “coffee_shop”, “restaurant”, “hotel”)
Place latitude coordinate
Place longitude coordinate
Formatted street address (if available)
Distance from search center point in kilometers (only if lat/lon provided)
Search relevance score (0.0 to 1.0, higher is better match)
Response Example
{
"success" : true ,
"count" : 10 ,
"places" : [
{
"id" : "018a9083-401f-4207-b450-c8ff39626513" ,
"name" : "Starbucks" ,
"category" : "coffee_shop" ,
"latitude" : 40.7128 ,
"longitude" : -74.0060 ,
"address" : "123 Broadway, New York, NY 10001" ,
"distance_km" : 0.5 ,
"confidence" : 0.95
},
{
"id" : "018a9083-5b2a-4c19-a320-8f1234567890" ,
"name" : "Starbucks Reserve" ,
"category" : "coffee_shop" ,
"latitude" : 40.7145 ,
"longitude" : -74.0072 ,
"address" : "456 5th Ave, New York, NY 10018" ,
"distance_km" : 1.2 ,
"confidence" : 0.92
}
]
}
Use Cases
Find nearby businesses and attractions for travel and discovery apps. Show users relevant places near their current location.
Power “find a location” features for chain businesses. Let users search for the nearest Starbucks, McDonald’s, or gas station.
Help users plan routes with POI stops. Find restaurants, rest areas, and attractions along a route.
Build recommendation engines that suggest places based on user preferences and location.
Find pickup/dropoff locations for delivery apps. Search for restaurants, stores, and service locations.
Error Handling
Error message if the request failed
Common Errors
Status Code Error Description 400 query parameter ‘q’ is required Missing search query 400 Invalid radius Radius must be between 0.1 and 100 km 401 API key required Missing X-API-Key header 401 Invalid API key format API key doesn’t start with bkv_ 500 search error Internal search engine error
Rate Limits: This endpoint has a rate limit of 1,000 requests per minute per API key. Exceeding this limit will result in 429 Too Many Requests responses.
Best Practices
Use spatial filtering: Always provide lat and lon when possible to get better relevance ranking based on proximity to the user.
Set appropriate radius: Use smaller radius (1-5km) for dense urban areas, larger radius (10-50km) for rural areas.
Limit results: Request only the number of results you need (5-20) for faster response times.
Category filtering: Use categories parameter to narrow results when you know the type (e.g., only restaurants, only hotels).
Cache results: Cache frequently searched places (e.g., popular chains) to reduce API calls and improve user experience.
Average Response Time: <200ms
P95 Response Time: <300ms
Data Freshness: Monthly updates from Overture Maps
Coverage: United States (19.7M+ POIs)