---
title: "Estimate monthly SERP provider cost"
method: GET
path: "/cost-estimate"
tags: ["discovery"]
---

# Estimate monthly SERP provider cost

`GET /cost-estimate`

## Request

- Base URL: `https://eu.bisibility.com/api/v1`
- URL: `https://eu.bisibility.com/api/v1/cost-estimate`
- Auth: none declared

## Query parameters

- `cron_expression` string
- `keywords` integer, required
- `depth` 10 | 20 | 50 | 100
- `locations` integer
- `devices` integer
- `frequency` 'daily' | 'weekly' | 'monthly' | 'manual' | 'paused' | 'custom_cron'
- `provider` string
- `option` string
- `plan` string

## Headers

- `Bisibility-API-Version` 'v1'

## Response `200`

JSON response

- object
  - `data` union, required: Estimated rank-check volume and provider spend for a keyword portfolio.
    - object
      - `billing_units_per_check` number, required
      - `checks_per_run` number, required
      - `depth` integer, required
      - `effective_cost_per_check_cents` number, nullable, required
      - `exceeds_largest_plan` boolean, required
      - `exceeds_selected_plan` boolean, required
      - `monthly_billing_units` number, nullable, required
      - `monthly_checks` number, nullable, required
      - `monthly_cost_cents` number, nullable, required
      - `monthly_cost_usd` number, nullable, required
      - `pricing_model` 'flat', required
      - `provider_id` string, required
      - `rate_checked_at` string, required
      - `rate_source_url` string, required
      - `result_pages_per_run` number, required
      - `runs_per_month` number, nullable, required
      - `selected_option` object
        - `additional_page_cost_cents` number, required
        - `additional_page_cost_usd` number, required
        - `key` string, required
        - `label` string, required
        - `short_label` string, required
        - `top_100_check_cost_cents` number, required
        - `top_100_check_cost_usd` number, required
        - `turnaround` string, required
        - `unit_cost_cents` number, required
        - `unit_cost_usd` number, required
    - object
      - `billing_units_per_check` number, required
      - `checks_per_run` number, required
      - `depth` integer, required
      - `effective_cost_per_check_cents` number, nullable, required
      - `exceeds_largest_plan` boolean, required
      - `exceeds_selected_plan` boolean, required
      - `monthly_billing_units` number, nullable, required
      - `monthly_checks` number, nullable, required
      - `monthly_cost_cents` number, nullable, required
      - `monthly_cost_usd` number, nullable, required
      - `pricing_model` 'plan', required
      - `provider_id` string, required
      - `rate_checked_at` string, required
      - `rate_source_url` string, required
      - `result_pages_per_run` number, required
      - `runs_per_month` number, nullable, required
      - `selected_plan` object
        - `included_checks` number, required
        - `label` string, required
        - `monthly_price_cents` number, required
        - `monthly_price_usd` number, required
        - `plan_key` string, required
    - object
      - `billing_units_per_check` number, required
      - `checks_per_run` number, required
      - `depth` integer, required
      - `effective_cost_per_check_cents` number, nullable, required
      - `exceeds_largest_plan` boolean, required
      - `exceeds_selected_plan` boolean, required
      - `monthly_billing_units` number, nullable, required
      - `monthly_checks` number, nullable, required
      - `monthly_cost_cents` number, nullable, required
      - `monthly_cost_usd` number, nullable, required
      - `pricing_model` string, required
      - `provider_id` string, required
      - `rate_checked_at` string, required
      - `rate_source_url` string, required
      - `result_pages_per_run` number, required
      - `runs_per_month` number, nullable, required

## Other responses

- `400`: Bad request
- `404`: Not found
- `409`: Unsupported API version
- `429`: Rate limited

## Changes

- **2026-10-19** `a6e1ec0dec82`: 16 breaking, 7 warning, 4 info
  - removed the enum value `1.00` from the `query` request parameter `devices`
  - removed the enum value `2.00` from the `query` request parameter `devices`
  - removed the enum value `bigdata` from the `query` request parameter `plan`
  - removed the enum value `dataforseo` from the `query` request parameter `provider`
  - …23 more

[Operation history](https://skmtc.dev/bisibility/apis/bisibility-public-api/changes/cost-estimate/get.md)

---

[API](https://skmtc.dev/bisibility/apis/bisibility-public-api.md) · [All operations](https://skmtc.dev/bisibility/apis/bisibility-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/bisibility/apis/bisibility-public-api/revisions/a6e1ec0dec82?raw)
