openapi: 3.2.0 info: title: APIs.io Export API description: |- Bulk data export — the license tier above Pro. The whole ratings or providers dataset in one pull, with the attribution string a published figure must carry. Business tier. This is the Export surface of the [APIs.io API](https://apis.io/api/v1) — one of 17 contracts split from the full API by tag, each documented and governed on its own. See the APIs.json index for the whole set. version: 1.5.0 contact: name: API Evangelist url: https://apis.io license: name: CC BY 4.0 url: https://creativecommons.org/licenses/by/4.0/ servers: - url: https://apis.io/api/v1 description: Production server. tags: - name: Export description: Bulk data export — the license tier above Pro. The whole ratings or providers dataset in one pull, with the attribution string a published figure must carry. Business tier. paths: /export: get: operationId: exportDataset x-tier: business x-mcp-tool: export_dataset tags: - Export summary: Export a whole dataset in one pull. description: The license tier above Pro. Pro is per-query intelligence; Business is the entire dataset in a single response, for a media outlet or analyst who licenses "publish our numbers". Defaults to the `ratings` dataset. Every response carries a `license` attribution string that must be cited with any published figure, alongside the rubric `schema_version`. parameters: - name: co_brand in: query description: A flat-license partner name stamped into the returned attribution string. schema: type: string maxLength: 60 responses: "200": description: The full dataset, with its license attribution and provenance. content: application/json: schema: type: object additionalProperties: true headers: ratelimit-policy: $ref: "#/components/headers/RateLimitPolicy" x-ratelimit-tier: $ref: "#/components/headers/RateLimitTier" x-ratelimit-limit: $ref: "#/components/headers/RateLimitLimit" x-ratelimit-window: $ref: "#/components/headers/RateLimitWindow" "402": $ref: "#/components/responses/UpgradeRequired" security: [] /export/{dataset}: get: operationId: exportNamedDataset x-tier: business x-mcp-tool: export_dataset tags: - Export summary: Export one named dataset. description: "`ratings` returns every rated provider with composite, band, trend, delta and facet scores — the full leaderboard, not a page. `providers` returns the catalog itself (slug, name, description, counts, artifact coverage, tags, industries, regions, score) for an analyst building their own view." parameters: - name: dataset in: path required: true schema: type: string enum: - ratings - providers description: The dataset to export. - name: co_brand in: query description: A flat-license partner name stamped into the returned attribution string. schema: type: string maxLength: 60 responses: "200": description: The named dataset. content: application/json: schema: type: object additionalProperties: true headers: ratelimit-policy: $ref: "#/components/headers/RateLimitPolicy" x-ratelimit-tier: $ref: "#/components/headers/RateLimitTier" x-ratelimit-limit: $ref: "#/components/headers/RateLimitLimit" x-ratelimit-window: $ref: "#/components/headers/RateLimitWindow" "400": description: Unknown dataset; the response lists the valid names. content: application/problem+json: schema: $ref: "#/components/schemas/Problem" headers: ratelimit-policy: $ref: "#/components/headers/RateLimitPolicy" x-ratelimit-tier: $ref: "#/components/headers/RateLimitTier" x-ratelimit-limit: $ref: "#/components/headers/RateLimitLimit" x-ratelimit-window: $ref: "#/components/headers/RateLimitWindow" "402": $ref: "#/components/responses/UpgradeRequired" "404": $ref: "#/components/responses/NotFound" security: [] components: schemas: Problem: type: object description: | A Problem Details object per [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457). Served as `application/problem+json`. Extension members (e.g. `parameter`) may be added alongside the standard fields. properties: type: type: string format: uri default: about:blank description: A URI identifying the problem type; dereferences to human-readable docs. examples: - https://apis.io/problems/invalid-parameter maxLength: 2048 title: type: string description: A short, human-readable summary of the problem type. examples: - Invalid parameter maxLength: 1024 status: type: integer minimum: 100 maximum: 599 description: The HTTP status code, repeated for convenience. examples: - 400 detail: type: string description: A human-readable explanation specific to this occurrence. maxLength: 20000 examples: - "`match` must be one of: any, all." instance: type: string format: uri-reference description: A URI reference identifying the specific occurrence (typically the request path). maxLength: 2048 examples: - /v1/search parameter: type: string description: Extension member — the offending query/path parameter, when applicable. maxLength: 1024 examples: - match required: - type - title - status additionalProperties: true responses: UpgradeRequired: description: Payment Required — this operation needs a paid tier. Send a plan key in `X-API-Key`. content: application/problem+json: schema: $ref: "#/components/schemas/Problem" example: type: https://apis.io/problems/upgrade-required title: Upgrade required status: 402 detail: This endpoint requires the Understanding or Influence plan. instance: /v1/ratings headers: ratelimit-policy: $ref: "#/components/headers/RateLimitPolicy" x-ratelimit-tier: $ref: "#/components/headers/RateLimitTier" x-ratelimit-limit: $ref: "#/components/headers/RateLimitLimit" x-ratelimit-window: $ref: "#/components/headers/RateLimitWindow" NotFound: description: Resource not found. content: application/problem+json: schema: $ref: "#/components/schemas/Problem" example: type: https://apis.io/problems/not-found title: Resource not found status: 404 detail: No API found with aid `twilio:nope`. instance: /v1/apis/twilio:nope headers: ratelimit-policy: $ref: "#/components/headers/RateLimitPolicy" x-ratelimit-tier: $ref: "#/components/headers/RateLimitTier" x-ratelimit-limit: $ref: "#/components/headers/RateLimitLimit" x-ratelimit-window: $ref: "#/components/headers/RateLimitWindow" headers: RateLimitPolicy: description: The quota and burst policy applied to this key, in the RFC 9745 RateLimit-Policy form. schema: type: string maxLength: 1024 example: "\"quota\";q=500;w=86400, \"burst\";q=5;w=1" RateLimitTier: description: The tier the call was served at. Keyless callers are served `free`. schema: type: string enum: - free - pro - business example: free RateLimitLimit: description: Requests allowed in the current quota window. schema: type: integer maximum: 1000000 example: 500 RateLimitWindow: description: Length of the quota window, in seconds. schema: type: integer maximum: 1000000 example: 86400 securitySchemes: ApiKeyAuth: type: apiKey in: header name: X-API-Key description: Send a plan key to be served above the free tier. Keyless callers get the free tier; a call that needs a paid tier answers 402 rather than refusing the connection.