The OpenWeb Ninja Local Business Data is a fast, reliable, and comprehensive local businesses API. This API enables you to easily access up-to-date business and POI information from Google Maps and the web in real-time.
The API supports several search options, including default Google Maps search, nearby search and searching within a specific area. In addition, the API supports fetching business emails and social profile links (Facebook, Instagram, TikTok, Twitter, LinkedIn, and more).
The API supports all 4000+ Google My / Maps Business categories - Check the full list of categories here.
We also offer custom services (e.g. all Plumbers in the US, etc) and higher volume plans, please contact us for more details.
Custom quota: The API charges based on the number of businesses, reviews, or photos returned by the API, rather than the number of requests made to the API. The following endpoints are always counted as 1 business credit: Business Details (for each business ID), Business Photo Details, Business Posts, Autocomoplete.
Depending on the use case, there’s an option for request based plan and quota, contact us for more details.
To begin using Local Business Data API, follow these steps and make your first API call:
Subscribe to a plan: Visit our Pricing page and subscribe to one of the plans. If you are just starting, you can subscribe to the free BASIC plan of the API with 500 business/review/photo object credits per month (hard-limited and no credit card required).
Make your first API call: Visit the RapidAPI Playground - the Search endpoint should be selected and displayed on the main panel view. Since there is already a default query parameter value (query/keyword), just click the blue “Test endpoint” button to make a your first API call. The JSON response will be displayed on the right panel.
Documentation and Resources: Refer to the detailed endpoint, parameter descriptions, and examples provided in the Endpoints tab under each endpoint. Code snippets are available for all popular programming languages and environments, including - Javascript, Python, Java, Shell, and many others, to help you easily integrate the API into your project or workflow.
You should be good to go now!
To authenticate with the API, send the X-RapidAPI-Host header with a value of “local-business-data.p.rapidapi.com” along with the X-RapidAPI-Key header set with your RapidAPI App API Key (as shown in the endpoint Code Snippets).
All JSON response bodies returned by our API backend have the following fields: status (ERROR or OK), request_id, and either error (including message and code fields), if the request failed and data field otherwise.
Here’s an example of a successful response:
{
"status": "OK",
"request_id": "53345b8a-de21-40c7-9ec7-b5842796c526",
"data": {..} or [..]
}
Here’s an example of an error response:
{
"status": "ERROR",
"request_id": "408a33ea-77f5-4a21-94e5-8b5884da6bb1",
"error": {
"message": "Limit should be an integer between 1-500.",
"code": 400
}
}
Please note that some errors might be returned by the RapidAPI gateway and will have a different structure. Please refer to the Error Handling / Error Response Structure section for more details.
In addition, RapidAPI gateway adds several headers to each response, for more information, please refer to https://docs.rapidapi.com/docs/response-headers.
For detailed endpoint parameters and responses documentation and examples, and to try the API, please refer to the Endpoints section of the API.
Search local businesses on Google Maps - this is the main search/default search on Google Maps.
Search businesses in a specific geographic area defined by a center coordinate point and zoom level. To see it in action, make a query on Google Maps, wait for the results to show, move the map or change the zoom and click “Search this area” at the top.
Search businesses near by specific geographic coordinates. To see it in action, right click on a specific point in the map on Google Maps and select “Search nearby”, enter a query and search.
Get full business details including emails and social contacts. Supports batching of up to 20 Business Ids.
Get all / paginate business reviews by Business Id with support for limit + offset based pagination / scrolling.
Get business photos by Business Id with support for limit + cursor based pagination / scrolling.
Get extra details about a business photo - caption, owner name and avatar, and more information. Supports batching of up to 20 Photo Ids.
Get all / paginate Business Owner Posts (“From the owner” section on Google Maps) by Business Id, sorted chronologically. Supports for limit + cursor based pagination / scrolling.
Search local businesses on Google Maps (the main search/default search on Google Maps) with support for batching of up to 20 queries in a single request.
Returns place/address, business and query predictions for text-based geographic queries (Google Maps Search Autocomplete).
Each subscription plan of the API defines the maximum number of requests permitted per month or the quota, in addition to a rate limit expressed in RPS (Requests Per Second).
Please note that all free plans of the API (e.g. BASIC) are rate limited to 1000 requests per hour. This is a RapidAPI requirement for any free plan.
All API responses include rate limit information in the following headers:
When hitting the rate limits of the API, the RapidAPI gateway will return a 429 Too Many Requests error. When that happens, wait until your rate limit resets, or consider upgrading your subscription plan for a higher limit. We can support almost any monthly quota and rate limit, contact us for more information.
Here’s an example of a 429 Too Many Requests error:
{
"message":"Too many requests"
}
Code examples are available for all popular programming languages and environments (Javascript, Python, Java, Shell, etc) on the Endpoints tab, on the right panel, under “Code Snippets”.
The OpenWeb Ninja Local Business Data API can be used for a variety of use cases, including:
The Local Business Data API is designed to provide robust and reliable access to search data. However, in the event of errors during API interaction, we use HTTP status codes to indicate the nature of the problem. Below, you’ll find detailed explanations of common error codes you may encounter, along with potential causes and suggested remediation steps.
400 Bad Request: This status is returned when your request is malformed or missing some required parameters. The response body might also include a “message” field, explaining the specific error. Ensure that all required fields are included and properly formatted before retrying your request.
403 Forbidden: This error indicates that you are not subscribed to the API or that your API key is invalid. If you believe this is in error, please contact RapidAPI support - support@rapidapi.com.
404 Not Found: This status is returned if the requested resource could not be found. This can occur with incorrect URL endpoints. Double-check the URL and try again.
429 Too Many Requests: This error means you have hit the rate limit for your subscription plan. Wait until your rate limit resets, or consider upgrading your subscription plan for a higher limit. If you believe this is in error, please contact us.
5XX Server Error (500, 502, and 503): This indicates a problem with our servers processing your request or an internal server timeout. This is a rare occurrence and should be temporary. If this error persists, please contact our technical support for assistance.
Errors returned by our API backend will have a message and potentially other details attached to them to help you understand and resolve issues. Here’s an example of an error response:
{
"status": "ERROR",
"request_id": "35dabdcd-b334-4600-afbc-d654b8af91cf",
"error": {
"message": "Missing query",
"code": 400
}
}
Some errors like 429 Too Many Requests, 403 Forbidden, or 404 Not Found, might be returned from RapidAPI gateway, in that case, the structure will be different. Here’s an example of an error response:
{
"message": "You are not subscribed to this API."
}
Implement error handling in your application to manage these responses gracefully. Here are some tips:
Retry Logic: For 5XX (500, 502, 503) and 429, implement a retry mechanism that waits for a few seconds before retrying the request.
Validation: Prior to sending requests, validate parameters to catch common errors like 400 Bad Request.
Logging: Log error responses for further analysis to understand patterns or recurring issues that might require changes in how you integrate with the API. The request_id field in the response can be used for further debugging.
If you encounter any issues that you are unable to resolve, or if you need further clarification on the errors you are seeing, please do not hesitate to contact us (see the Contact Us section below). Provide us with the error code, message, and the context in which the error occurred, and we will assist you promptly.
For custom plans / high tier plans, custom services or any other subject, feel free to drop us a private message or an email and we will get back to you shortly.
Email: support@openwebninja.com
Discord: https://discord.gg/wxJxGsZgha
LinkedIn: https://www.linkedin.com/company/openwebninja-api