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: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:
  title: Anyapi APIs API
  version: 1.0.0
  contact:
    email: support@getanyapi.com
  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.'
  description: 'Operations tagged Apis across 2 of this provider''s published API definitions: anyapi-gateway-openapi.json, anyapi-openapi.json. Each path carries the servers of the definition it was published in.'
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
    servers:
    - url: https://api.getanyapi.com
  /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
    servers:
    - url: https://api.getanyapi.com
components:
  schemas:
    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
    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
    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
    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
    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
    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
    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
    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
    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
    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
    APISummary_2:
      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_2'
          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
        notServingSources:
          description: 'Sources that belong to this API but are not being called right now: each served until it was withdrawn after failures, and each returns on its own once it passes again. Absent when every source is serving. Never merge these into the list above: the prices here cannot be charged and a failed call is not retried on them.'
          items:
            $ref: '#/components/schemas/APISourceOffer_2'
          type: array
        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_2'
          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
    DiscoveryPricing_2:
      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, including every optional extra a source sells.
          type: number
        from:
          allOf:
          - $ref: '#/components/schemas/DiscoveryOffer_2'
          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_2:
      properties:
        fields:
          description: The output fields this source returns, so you can see before calling which requireFields combinations one source can serve together. Absent when the set is not known for the source.
          items:
            type: string
          type: array
        pricing:
          allOf:
          - $ref: '#/components/schemas/DiscoveryOffer_2'
          description: This source's own customer price.
        source:
          allOf:
          - $ref: '#/components/schemas/DiscoverySource'
          description: This source's public identity.
      required:
      - pricing
      - source
      type: object
    APIDetail_2:
      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_2'
          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
        notServingSources:
          description: 'Sources that belong to this API but are not being called right now: each served until it was withdrawn after failures, and each returns on its own once it passes again. Absent when every source is serving. Never merge these into the list above: the prices here cannot be charged and a failed call is not retried on them.'
          items:
            $ref: '#/components/schemas/APISourceOffer_2'
          type: array
        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_2'
          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
    DiscoveryOffer_2:
      properties:
        addons:
          description: 'Optional extras this offer sells, absent when it sells none. Each is switched on by a field in the request, so its price is known before the call and never moves. maxUsd bounds the metered charge alone: an extra the caller asked for is billed ON TOP of it, so the most one request can cost is maxUsd plus the extras it switched on.'
          items:
            properties:
              field:
                description: The input field that switches it on.
                type: string
              id:
                description: Stable identifier for the extra.
                type: string
              label:
                description: What the money buys, in the customer's words.
                type: string
              usd:
                description: USD added to the request when that field is set.
                type: number
            required:
            - id
            - label
            - field
            - usd
            type: object
          type: array
        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
  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
x-refined-from:
- anyapi-gateway-openapi.json
- anyapi-openapi.json