Skip to content

Tips and tricks

📖 Pagination

To provide the best experience, we decided to split our results into pages. This will avoid transferring massive amounts of data in a single API call.

  • Always start requesting data with the page_number parameter set to 1 (default value).
  • The amount of available pages depends on the per_page parameter value and the total amount of data.
  • The API response contains a pagination field, which in turn contains a total_pages key with the total amount of available pages.
  • Make sure to stop paginating once the page limit is hit.

❗ We do not charge for pagination requests.

Paginating reviews

To deliver correct results, we introduced a diff parameter. To access the next page, you must provide the diff parameter. Its value is always present in the response from the previous request (previous page), more specifically, nested inside the pagination field.

❗ The diff value returned in the response can be used for an hour, after which it will expire automatically.

Paginating profiles

To paginate profiles, you do not need diff parameter. The review profiles are grouped by location. The per_page parameter tells us, how many locations would you like to retrieve in one page. Please note, that one location can contain up to 8 review profiles.

💵 Credits and pricing

Your plan includes a set amount of credits which you can use to make requests to Review Index API. Every time you make a request, you'll get a certain amount of credits deducted, which we calculate according to these rules:

  1. You pay for the amount of profiles returned to you, regardless of which params you used to filter your results. For example: 10 profiles returned is equal to 10 credits.
    • Subsequent pagination requests are not charged.
  2. You do not pay for the same request (same combination of parameters) in the next 24 hours. This applies for both endpoints.
  3. If you make a request with slightly modified parameters and it returns overlapping results with a previous response, you will be charged.
  4. You will always get charged for requests made to /reviews or /profiles endpoint when the update param is set to True.
  5. If a request is not successful, you will be charged 1 credit for it if it failed because "no results were found". Other types of errors will not be charged.
    • You will never be charged for "Unexpected errors" (usually related to application errors).

📩 Update and callback functionality

If you need to get the latest data, we need the time to fetch them. Whenever you request an update on the data, we enqueue this job for processing. Depending on the number of profiles to update, this might take seconds to several minutes. We hit your callback URL once we have data ready for you. You can expect the first page of the data when it is prepared.

If you do not wish to receive the latest data and are happy with what we have available, you can skip the update parameter.

We POST payload to the given callback URL. The payload follows the JSON response structure for the data you initially requested. Please see the documentation of each endpoint to see the JSON response structure.

🚦 Rate Limiting

We have implemented a couple of rate limiting rules that help us provide a consistent and reliable experience to all our users.

We take into account two factors: time and concurrency, the former is based on requests made in a window of time, while the latter is related to the total number of tasks that are being processed in the background.

  • Time: we allow up to 10 requests/second. This applies to all our users.
  • Concurrency: we allow up to 100 simultaneous tasks. This does not apply to users that have their own, dedicated queues.

📍 Company locations

For location based businesses we provide location based search. You can narrow your results down by requesting a specific country, state, zip code, city or street for the company requested.

🔎 Request ID

To keep track of existing jobs and be able to debug them, we provide a unique identifier for every request you submit. You can use this ID to refer to your request.