AnyAPI APIS API

The Apis API from AnyAPI — 2 operation(s) for apis.

Operations 2

GET /v1/apis List the APIs you can run #
GET /v1/apis/{sku} Get one API #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/anyapi-apis-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

anyapi-apis-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: support@getanyapi.com
  description: 'Any API, one wallet, USD, no subscriptions. Each API is a single discovered operation: send the normalized input, get a normalized result. Prices and payment outcomes are reported in USD; each operation documents the settlement policy for its enabled payment rails.'
  title: Any APIS API
  version: 1.0.0
  x-guidance: 'Use each operation''s published method and path with its normalized JSON input (see the operation requestBody). Before setting a client or tool timeout, GET /v1/apis/{sku} and inspect its trailing-30-day latency p50/p95/p99 and sample; p99 is an observation, not a maximum. To pay: send your AnyAPI key (Authorization: Bearer, billed from your USD wallet). For operations that advertise an inline rail, pay per call inline with x402 - call with no key, receive HTTP 402 with a PAYMENT-REQUIRED header, then retry with the PAYMENT-SIGNATURE header (base, no account needed); or pay per call inline with MPP (Machine Payments Protocol) - call with no key, receive HTTP 402 with a WWW-Authenticate: Payment challenge, then retry with the Authorization: Payment header (tempo, no account needed). x402 settles after execution; execution failure is reported as released; mpp settles before execution; execution failure is reported as charged_undelivered.'
servers:
- url: https://api.getanyapi.com
security:
- bearerAuth: []
- apiKeyAuth: []
tags:
- name: APIs
paths:
  /v1/apis:
    get:
      description: The same catalog as GET /catalog, without measured source health, for a caller that is choosing an API to run rather than displaying uptime. Schemas are omitted; GET /v1/apis/{sku} returns them for one API.
      operationId: listApis
      parameters:
      - description: Restrict the response to one category, using an entry's `category`.
        in: query
        name: category
        required: false
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  apis:
                    items:
                      $ref: '#/components/schemas/APISummary'
                    type: array
                required:
                - apis
                type: object
          description: The APIs available to your key.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid API key.
      summary: List the APIs you can run
      tags:
      - APIs
  /v1/apis/{sku}:
    get:
      description: 'One API''s full contract: its normalized `inputSchema` and `outputSchema`, its USD pricing, the sources behind it, and its trailing-30-day latency distribution. Build your input from `inputSchema` rather than from the description: the schema is strict, so an invented field name fails the call. The latency percentiles are observations of past successful runs, not execution ceilings.'
      operationId: getApi
      parameters:
      - description: The API's slug, as published by discovery (for example `reddit.search`).
        in: path
        name: sku
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/APIDetail'
          description: The API's full contract.
        '401':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Missing or invalid API key.
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
          description: Unknown slug, or an API no source can serve.
      summary: Get one API
      tags:
      - APIs
components:
  schemas:
    APISummary:
      properties:
        beta:
          description: 'Present when this API is published as beta. A maturity label only: a beta API routes, serves and bills exactly like any other.'
          type: boolean
        category:
          description: The API's category, accepted back as the `category` scope.
          type: string
        description:
          description: One-line summary of what this API returns.
          type: string
        excludesCallerDelay:
          description: Present when this API accepts a caller-requested wait. The published latency is net of that wait, so a caller who uses it measures a longer time.
          type: boolean
        execution:
          allOf:
          - $ref: '#/components/schemas/DiscoveryExecution'
          description: The runtime protocol a run of this API follows.
        failover:
          description: True when more than one source can serve this API, so a failed attempt is retried on another. Derived from the published sources, never authored.
          type: boolean
        heavy:
          description: True when a typical response is large enough to strain an agent's context window. Reach for the run response-budget controls (fields, max_items, summary, jq) before the first call.
          type: boolean
        id:
          description: Stable identifier for this API.
          type: string
        lanes:
          description: The sources that can serve this API, cheapest customer charge first. Each carries its own price and its own public identity.
          items:
            $ref: '#/components/schemas/APISourceOffer'
          type: array
        method:
          description: 'HTTP method for this API''s concrete operation. Gateway authority: use it rather than assuming one.'
          type: string
        name:
          description: Display name.
          type: string
        path:
          description: 'Concrete gateway path for this API. Gateway authority: use it rather than rebuilding a route from the slug.'
          type: string
        pricing:
          allOf:
          - $ref: '#/components/schemas/DiscoveryPricing'
          description: Static USD pricing for this API.
        provider:
          const: AnyAPI
          description: Always "AnyAPI". AnyAPI is the provider of record for every API in the catalog.
          type: string
        slug:
          description: The API's slug. Use it as {sku} on GET /v1/apis/{sku} and POST /v1/run/{sku}.
          type: string
        tryEligible:
          description: True when this API can be run from the free public try surface.
          type: boolean
        tryMaxItems:
          description: The most items the free try returns. Present only when tryEligible is true, so a limit is never advertised for an API the public tool will refuse.
          type: integer
      required:
      - id
      - slug
      - category
      - name
      - description
      - method
      - path
      - provider
      - execution
      - pricing
      - lanes
      - tryEligible
      - failover
      type: object
    DiscoveryExecution:
      properties:
        mode:
          description: sync answers on the run request; durable accepts the run as a Request you poll at GET /v1/requests/{id}.
          enum:
          - sync
          - durable
          type: string
      required:
      - mode
      type: object
    DiscoveryPricing:
      properties:
        failoverMaxPer1kUsd:
          description: failoverMaxUsd in the per-1,000-request denomination.
          type: number
        failoverMaxUsd:
          description: The greatest customer-price maximum across those same sources, in USD.
          type: number
        from:
          allOf:
          - $ref: '#/components/schemas/DiscoveryOffer'
          description: The complete offer for the first source that will be tried, where sources are ordered by the customer charge, cheapest first.
      required:
      - from
      - failoverMaxUsd
      - failoverMaxPer1kUsd
      type: object
    APISourceOffer:
      properties:
        pricing:
          allOf:
          - $ref: '#/components/schemas/DiscoveryOffer'
          description: This source's own customer price.
        source:
          allOf:
          - $ref: '#/components/schemas/DiscoverySource'
          description: This source's public identity.
      required:
      - pricing
      - source
      type: object
    Payment:
      properties:
        costUsd:
          description: Known USD payment amount for this request.
          minimum: 0
          type: number
        rail:
          minLength: 1
          type: string
        settlementState:
          enum:
          - charged_undelivered
          - indeterminate
          type: string
      required:
      - rail
      - settlementState
      - costUsd
      type: object
    APIDetail:
      properties:
        beta:
          description: 'Present when this API is published as beta. A maturity label only: a beta API routes, serves and bills exactly like any other.'
          type: boolean
        category:
          description: The API's category, accepted back as the `category` scope.
          type: string
        description:
          description: One-line summary of what this API returns.
          type: string
        excludesCallerDelay:
          description: Present when this API accepts a caller-requested wait. The published latency is net of that wait, so a caller who uses it measures a longer time.
          type: boolean
        execution:
          allOf:
          - $ref: '#/components/schemas/DiscoveryExecution'
          description: The runtime protocol a run of this API follows.
        failover:
          description: True when more than one source can serve this API, so a failed attempt is retried on another. Derived from the published sources, never authored.
          type: boolean
        heavy:
          description: True when a typical response is large enough to strain an agent's context window. Reach for the run response-budget controls (fields, max_items, summary, jq) before the first call.
          type: boolean
        howItWorks:
          description: Authored prose explaining how this API produces its result. Absent when unauthored.
          type: string
        id:
          description: Stable identifier for this API.
          type: string
        inputSchema:
          description: 'This API''s normalized input as a JSON Schema document. It is strict: build the run body from it, because an invented field name fails the call.'
          type: object
        lanes:
          description: The sources that can serve this API, cheapest customer charge first. Each carries its own price and its own public identity.
          items:
            $ref: '#/components/schemas/APISourceOffer'
          type: array
        latency:
          anyOf:
          - $ref: '#/components/schemas/DiscoveryLatency'
          - type: 'null'
          description: Trailing-window distribution of successful runs, or null when there are too few observations to publish.
        method:
          description: 'HTTP method for this API''s concrete operation. Gateway authority: use it rather than assuming one.'
          type: string
        name:
          description: Display name.
          type: string
        outputSchema:
          description: This API's normalized output as a JSON Schema document.
          type: object
        path:
          description: 'Concrete gateway path for this API. Gateway authority: use it rather than rebuilding a route from the slug.'
          type: string
        pricing:
          allOf:
          - $ref: '#/components/schemas/DiscoveryPricing'
          description: Static USD pricing for this API.
        provider:
          const: AnyAPI
          description: Always "AnyAPI". AnyAPI is the provider of record for every API in the catalog.
          type: string
        slug:
          description: The API's slug. Use it as {sku} on GET /v1/apis/{sku} and POST /v1/run/{sku}.
          type: string
        tryEligible:
          description: True when this API can be run from the free public try surface.
          type: boolean
        tryMaxItems:
          description: The most items the free try returns. Present only when tryEligible is true, so a limit is never advertised for an API the public tool will refuse.
          type: integer
      required:
      - id
      - slug
      - category
      - name
      - description
      - method
      - path
      - provider
      - execution
      - pricing
      - lanes
      - tryEligible
      - failover
      - latency
      type: object
    DiscoverySource:
      properties:
        artworkKey:
          description: Key for this source's artwork.
          type: string
        id:
          description: Stable identifier for this source.
          type: string
        kind:
          description: anonymous is a stable identity for an unattributed source; brand names the dataset that supplies the data.
          enum:
          - anonymous
          - brand
          type: string
        name:
          description: Display name for this source.
          type: string
      required:
      - id
      - name
      - kind
      - artworkKey
      type: object
    DiscoveryOffer:
      properties:
        baseUsd:
          description: 'Linear offers only: USD charged for the call before per-unit billing.'
          type: number
        maxPer1kUsd:
          description: The same maximum in the per-1,000-request denomination AnyAPI quotes customers in. It is published rather than left to the client, so display this figure instead of scaling a price yourself.
          type: number
        maxUsd:
          description: The most one request on this offer can be billed, in USD.
          type: number
        model:
          description: Pricing model. A flat offer is one price per request; a linear offer also carries baseUsd and perUnitUsd.
          enum:
          - flat
          - linear
          type: string
        perUnitUsd:
          description: 'Linear offers only: USD charged for each billable unit inside the call.'
          type: number
        unit:
          description: The billable unit. A flat offer always publishes "request".
          type: string
      required:
      - model
      - unit
      - maxUsd
      - maxPer1kUsd
      type: object
    DiscoveryLatency:
      properties:
        basis:
          const: service_time_excludes_caller_requested_delay
          description: Machine-readable definition of what these percentiles measure.
          type: string
        p50Ms:
          description: Median successful end-to-end service time, in milliseconds.
          type: integer
        p95Ms:
          description: 95th percentile successful end-to-end service time, in milliseconds.
          type: integer
        p99Ms:
          description: 99th percentile successful end-to-end service time, in milliseconds. An observation, not a maximum.
          type: integer
        sample:
          description: Successful executions behind these percentiles.
          type: integer
        window:
          const: 30d
          description: The trailing window these percentiles cover.
          type: string
      required:
      - window
      - p50Ms
      - p95Ms
      - p99Ms
      - sample
      - basis
      type: object
    Error:
      properties:
        code:
          description: Stable machine-readable error code when the endpoint defines one.
          type: string
        error:
          description: Customer-safe error message.
          type: string
        payment:
          $ref: '#/components/schemas/Payment'
        requestId:
          description: This run's AnyAPI request id, the same value as the X-Anyapi-Request-Id response header. Quote it to support. Absent on endpoints that do not execute a run.
          format: uuid
          type: string
      required:
      - error
      type: object
  securitySchemes:
    apiKeyAuth:
      description: Your AnyAPI key.
      in: header
      name: X-API-Key
      type: apiKey
      x-default: YOUR_ANYAPI_KEY
    bearerAuth:
      description: Your AnyAPI key as a Bearer token.
      scheme: bearer
      type: http
      x-default: YOUR_ANYAPI_KEY