---
title: "Rank qualifying offers by effective workload cost"
method: GET
path: "/api/v1/offers/compare"
tags: ["Models"]
---

# Rank qualifying offers by effective workload cost

`GET /api/v1/offers/compare`

## Request

- Base URL: `https://cheapestllmapi.com`
- URL: `https://cheapestllmapi.com/api/v1/offers/compare`
- Auth: none required

Rank current chat offers for up to five canonical model slugs with the website calculator: context-tier prices, cache reads/writes, retries, supported batch rates, capability/benchmark requirements, provider/route preferences, and evidence filters. Input totals include cache shares; cache_hit_percent plus cache_write_percent must be <=100. Average request sizes determine tiers and capacity. Batch is Anthropic direct only. Unknown required evidence excludes offers; missing cache-read rates use standard input rates. Inspect costs, qualification, warnings, assumptions, excludedModels, and pagination.hasMore. Free quotas, non-token fees, and media token accounting are excluded.

## Query parameters

- `model_slugs` string[], required
- `provider_slugs` string[]
- `input_tokens` integer
- `output_tokens` integer
- `average_input_tokens` integer
- `average_output_tokens` integer
- `cache_hit_percent` number
- `cache_write_percent` number
- `retry_percent` number
- `execution` 'standard' | 'batch': Batch supports Anthropic direct routes with a published 50% token discount; unsupported routes are excluded.
- `task` 'chat' | 'coding' | 'extraction' | 'custom': Coding requires the code capability; extraction requires structured output. Every offer must support chat.
- `benchmark_id` 'livebench' | 'aa-intelligence' | 'aa-coding' | 'aa-agentic' | 'swe-bench-verified-epoch-2-0-2' | 'terminal-bench-2-1-terminus-2' | 'terminal-bench-2-1-claude-code' | 'terminal-bench-2-1-codex' | 'gpqa-diamond' | 'otis-mock-aime-2024-2025' | 'livebench-coding' | 'livebench-agentic-coding' | 'livebench-reasoning' | 'livebench-math'
- `minimum_score` number: Zero disables score qualification; a positive threshold excludes missing exact benchmark matches.
- `required_capabilities` string[]
- `minimum_context_tokens` integer
- `open_weights` boolean
- `route_type` 'all' | 'official' | 'cloud' | 'gateway' | 'unverified'
- `require_official_prices` boolean: Require official paired input/output price verification. Cache rates may have different source provenance.
- `require_known_host` boolean: Exclude routes without a named underlying inference provider.
- `offset` integer
- `limit` integer

## Response `200`

Offers in ascending workload cost, including source provenance

- object
  - `meta` object, required
    - `apiVersion` 'v1', required
    - `currency` 'USD', required
    - `tokenPriceUnit` 'per_million_tokens', required
  - `workload` object, required
    - `inputTokens` integer, required
    - `outputTokens` integer, required
    - `averageInputTokens` integer, required
    - `averageOutputTokens` integer, required
    - `cacheHitPercent` number, required
    - `cacheWritePercent` number, required
    - `retryPercent` number, required
    - `execution` 'standard' | 'batch', required
    - `task` 'chat' | 'coding' | 'extraction' | 'custom', required
  - `requirements` object, required
    - `modelSlugs` string[], required
    - `providerSlugs` string[], required
    - `requiredCapabilities` string[], required
    - `minimumContextTokens` integer, required
    - `openWeights` boolean, required
    - `routeType` string, required
    - `benchmarkId` string, required
    - `minimumScore` number, required
    - `requireOfficialPrices` boolean, required
    - `requireKnownHost` boolean, required
  - `assumptions` string[], required
  - `data` object, required
    - `offers` object[], required
      - `offer` object, required
        - `id` string, required
        - `model` object, required
          - `slug` string, required
          - `name` string, required
        - `provider` object, required
          - `slug` string, required
          - `name` string, required
        - `routeType` 'official' | 'cloud' | 'gateway' | 'unverified', required
        - `prices` object, required
          - `inputPerMillionTokens` number, required
          - `outputPerMillionTokens` number, required
          - `cachedInputPerMillionTokens` number, nullable, required
          - `cacheWritePerMillionTokens` number, nullable, required
        - `evidence` object, required
          - `inferenceProvider` string, nullable, required
          - `providerUrl` string, nullable, required
          - `priceAuthority` string, required
        - `limits` object, required
          - `contextTokens` integer, nullable, required
          - `maxOutputTokens` integer, nullable, required
        - `provenance` object, required
          - `sourceUrl` string, uri, required
          - `checkedAt` union, required
            - string, date
            - string, date-time
      - `workloadCostUsd` number, required
      - `costs` object, required
        - `uncachedInputUsd` number, required
        - `cachedInputUsd` number, required
        - `cacheWriteUsd` number, required
        - `outputUsd` number, required
      - `qualification` object, required
        - `requiredContextTokens` integer, required
        - `requiredOutputTokens` integer, required
        - `requiredCapabilities` string[], required
        - `benchmark` object, nullable, required
          - `id` string, required
          - `minimumScore` number, required
          - `score` number, required
          - `version` string, required
          - `configuration` string, required
          - `sourceUrl` string, uri, required
      - `warnings` string[], required
    - `excludedModels` object[], required
      - `modelSlug` string, required
      - `reason` string, required
  - `pagination` object, required
    - `total` integer
    - `hasMore` boolean
    - `page` integer
    - `pageSize` integer
    - `pageCount` integer
    - `offset` integer
    - `limit` integer

## Other responses

- `400`: Invalid request, missing resource, or temporary catalog failure
- `404`: Invalid request, missing resource, or temporary catalog failure
- `429`: Invalid request, missing resource, or temporary catalog failure
- `503`: Invalid request, missing resource, or temporary catalog failure

---

[API](https://skmtc.dev/cheapestllmapi/apis/cheapest-llm-api-public-data-api.md) · [All operations](https://skmtc.dev/cheapestllmapi/apis/cheapest-llm-api-public-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/cheapestllmapi/apis/cheapest-llm-api-public-data-api/revisions/81b9a3301c5c?raw)
