---
title: "Estimate"
method: POST
path: "/api/v1/estimate"
tags: ["estimate"]
---

# Estimate

`POST /api/v1/estimate`

## Request

- Base URL: `https://scrapeselect.com` (the document declares no server; this is the origin it was published from)
- URL: `https://scrapeselect.com/api/v1/estimate`
- Auth: none declared

## Request body

- EstimateRequest
  - `workload` WorkloadInput, required: Monthly scraping workload. Unset optional fields fall back to visible assumptions.
    - `successful_pages_per_month` integer, required
    - `javascript_ratio` union
      - number
      - string
    - `anti_bot_level` 'low' | 'medium' | 'high' | 'unknown'
    - `target_country` string, nullable
    - `country_required` boolean
    - `domain_class` string, nullable: Target category with special pricing, e.g. 'amazon'.
    - `peak_concurrency` integer
    - `monthly_billing_only` boolean
    - `expected_success_rate` union
      - number
      - string
    - `average_page_size_kb` union
      - number
      - string
    - `average_browser_seconds` union
      - number
      - string
  - `products` string[], nullable: Limit to these products ("provider/product"); all products when omitted.

## Response `200`

Successful Response

- EstimateResponse
  - `workload` WorkloadOutput, required: Monthly scraping workload. Unset optional fields fall back to visible assumptions.
    - `successful_pages_per_month` integer, required
    - `javascript_ratio` string
    - `anti_bot_level` 'low' | 'medium' | 'high' | 'unknown'
    - `target_country` string, nullable
    - `country_required` boolean
    - `domain_class` string, nullable: Target category with special pricing, e.g. 'amazon'.
    - `peak_concurrency` integer
    - `monthly_billing_only` boolean
    - `expected_success_rate` string, nullable
    - `average_page_size_kb` string, nullable
    - `average_browser_seconds` string, nullable
  - `assumptions` AssumptionOut[], required
    - `key` string, required
    - `label` string, required
    - `value` string, required
    - `origin` 'user' | 'default' | 'editorial' | 'public_observation', required
    - `note` string, nullable, required
  - `estimates` ProductEstimateOut[], required
    - `provider` string, required
    - `provider_name` string, required
    - `product` string, required
    - `product_name` string, required
    - `category` string, required
    - `billing_model` string, required
    - `architecture` 'managed_api' | 'self_managed', required
    - `feasible` boolean, required
    - `low` QuoteOut, required
      - `plan_key` string, required
      - `plan_name` string, required
      - `monthly_cost_usd` number, required
      - `cost_per_1k_pages_usd` number, required
    - `expected` QuoteOut, required
      - `plan_key` string, required
      - `plan_name` string, required
      - `monthly_cost_usd` number, required
      - `cost_per_1k_pages_usd` number, required
    - `high` QuoteOut, required
      - `plan_key` string, required
      - `plan_name` string, required
      - `monthly_cost_usd` number, required
      - `cost_per_1k_pages_usd` number, required
    - `rejected_plans` object, required
    - `sources` SourceOut[], required
      - `key` string, required
      - `url` string, required
      - `title` string, required
      - `observed_at` string, date-time, required
      - `excerpts` string[], required
      - `fact_type` string, required
      - `freshness` 'fresh' | 'recent' | 'stale', required
  - `engine_version` string, required
  - `meta` Meta, required
    - `data_checked_at` string, date-time, nullable, required
    - `freshness` 'fresh' | 'recent' | 'stale', required
    - `schema_version` string, required

## Other responses

- `422`: Validation Error

---

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