---
title: "Compare"
method: POST
path: "/api/v1/compare"
tags: ["compare"]
---

# Compare

`POST /api/v1/compare`

## 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/compare`
- Auth: none declared

## Request body

- CompareRequest
  - `products` string[], required
  - `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

## Response `200`

Successful Response

- CompareResponse
  - `products` ComparedProduct[], required
    - `estimate` 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
    - `features` FeatureOut[], required
      - `key` string, required
      - `label` string, required
      - `value` unknown, required
      - `notes` string, nullable, required
      - `source` string, required
    - `limits` LimitOut[], required
      - `key` string, required
      - `value` union, required
        - number
        - string
      - `unit` string, nullable, required
      - `plan` string, nullable, required
      - `notes` string, nullable, required
      - `source` string, required
    - `notes` string[], required
    - `url` string, required
  - `assumptions` AssumptionOut[], required
    - `key` string, required
    - `label` string, required
    - `value` string, required
    - `origin` 'user' | 'default' | 'editorial' | 'public_observation', required
    - `note` string, nullable, 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)
