---
title: "Search the plans"
method: GET
path: "/plans"
---

# Search the plans

`GET /plans`

## Request

- Base URL: `https://api.datacircle.dev/v1`
- URL: `https://api.datacircle.dev/v1/plans`
- Auth: none required
- TypeScript: <https://skmtc.dev/datacircle-wayne/apis/openapi/docs/plans/get.ts> (a function with typed inputs; its response is checked against the schema)

Every plan on the sheet, or an API's, or those whose provider or plan name holds every word of query. total counts every plan found, plans holds up to limit of them from offset.

## Query parameters

- `api` string
- `query` string
- `sort` 'score' | 'provider' | 'price'
- `limit` integer
- `offset` integer

## Response `200`

Search the plans

- object
  - `total` integer: How many plans were found.
  - `offset` integer: How many found plans were skipped first.
  - `sheetPage` string, uri, nullable: The API's sheet on datacircle.dev, its plans and their prices.
  - `bestPage` string, uri, nullable: The API's best page on datacircle.dev, which ranks its providers on our benchmark. Null where it has none.
  - `plans` Plan[]: Up to limit plans, each with its rank on its API.
    - `provider` unknown
    - `api` unknown
    - `website` unknown
    - `pricingPage` unknown
    - `pitch` unknown
    - `strengths` unknown
    - `aggregators` unknown
    - `waterfall` unknown
    - `freshness` unknown
    - `fieldFreshness` unknown
    - `history` unknown
    - `countries` unknown
    - `fullFamilyTree` unknown
    - `checks` unknown
    - `searchesIn` unknown
    - `keep` unknown
    - `use` unknown
    - `plan` unknown
    - `who` unknown
    - `auth` unknown
    - `billing` unknown
    - `charged` unknown
    - `topUp` unknown
    - `pay` unknown
    - `currency` unknown
    - `exchangeRate` unknown
    - `termMonths` unknown
    - `score` unknown
    - `from` unknown
    - `graduated` unknown
    - `units` unknown
    - `unit` unknown
    - `renews` unknown
    - `expires` unknown
    - `ends` unknown
    - `calls` unknown
    - `monthlyCap` unknown
    - `perThousand` unknown
    - `listPerThousand` unknown
    - `overagePerThousand` unknown
    - `unitsCap` unknown
    - `addons` unknown
    - `notFoundPerThousand` unknown
    - `catchAllPerThousand` unknown
    - `bounceRefund` unknown
    - `repeatFree` unknown
    - `alsoPaysFor` unknown
    - `sharesBudgetWith` unknown
    - `startPerCall` unknown
    - `startPerCallMax` unknown
    - `minimumPerCall` unknown
    - `perThousandFrom` unknown
    - `monthlyFee` unknown
    - `monthlyFeePer` unknown
    - `extras` unknown
    - `costUnits` unknown
    - `per` unknown
    - `resultsPerPage` unknown
    - `resultsCap` unknown
    - `perSecond` unknown
    - `perDay` unknown
    - `limitsCountedIn` unknown
    - `concurrent` unknown
    - `batch` unknown
    - `minBatch` unknown
    - `answer` unknown
    - `call` unknown
    - `method` unknown
    - `path` unknown
    - `send` unknown
    - `fields` unknown
    - `docsBehind` unknown
    - `latencyMs` unknown
    - `docs` unknown
    - `readFrom` unknown
    - `checked` unknown
    - `page` string, uri: The address of the plan's own page on datacircle.dev. Only datacircle.json and datacircle.csv have this key, and each plan our MCP server gives. There it is the page search engines show for the plan: its own page, or the page of a plan list that holds it.
    - `rank` integer, nullable: The plan's place among its API's plans we score, best first, from 1, as the sheet orders them. Null on a plan we don't score, listed after them.

## Other responses

- `400`: A parameter out of its range, with what it must be.
- `429`: More than 60 calls in a minute from one address.

---

[API](https://skmtc.dev/datacircle-wayne/apis/openapi.md) - [All operations](https://skmtc.dev/datacircle-wayne/apis/openapi/llms.txt) - [OpenAPI document](https://skmtc.dev/datacircle-wayne/apis/openapi/revisions/1b7212455f24?raw)
