Perigon Utilities API

The Utilities API from Perigon — 1 operation(s) for utilities.

Operations 1

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /v1/limits Check API usage and rate limits · Limits #
Ask an LLM
“How many requests have I used this period and when does the counter reset?”
“Can I verify whether some API keys are valid and enabled?”
Tell an agent
Show my current API usage and limits.
Check whether API keys {apiKeys} are valid, enabled and on an active subscription.

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/perigon:perigon-utilities-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

perigon-utilities-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Perigon Utilities API
  description: The Perigon API provides access to comprehensive news and web content data. To use the API, simply sign up for a Perigon Business Solutions account to obtain your API key. Your available features may vary based on your plan. See the Authentication section for details on how to use your API key.
  contact:
    name: Perigon Support
    url: https://docs.perigon.io/
    email: data@perigon.io
  version: 1.0.0
servers:
- url: https://api.perigon.io
  description: Generated server url
security:
- apiKeyAuth: []
tags:
- name: Utilities
paths:
  /v1/limits:
    get:
      tags:
      - Utilities
      summary: Limits
      description: 'Returns the authenticated account''s current API usage and the limits that apply to it: the number of requests made in the current tracking period, the request limit, the per-second rate limit, and when the counter resets.


        Optionally, pass one or more API keys via the `apiKeys` parameter to check their status. For each supplied key the response reports whether it is `valid` (exists and belongs to your account), `enabled` (a disabled key is ''off''), and whether its `subscription` is active.


        This endpoint is authenticated with your API key but is quota-exempt: calling it does **not** count against your monthly request quota and is not subject to rate limiting. It is intended for liveness/health probes and external dashboards that need to check whether an API key and subscription are active without consuming usage.'
      operationId: get-limits
      parameters:
      - name: apiKeys
        in: query
        description: Optional list of API keys whose validity and status should be checked. Each key is reported as valid only if it exists and belongs to your account.
        required: false
        schema:
          maxItems: 50
          minItems: 0
          type: array
          items:
            type: string
      responses:
        '401':
          description: 401 - Invalid API Key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 401
                message: Invalid API key.
                timestamp: 1681338367402
        '200':
          description: 200 - Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitsResult'
        '500':
          description: 500 - Server Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 500
                message: Internal error. Please contact the support to resolve the problem. We apologize for any inconvenience :)
                timestamp: 1681338367402
        '400':
          description: 400 - Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 400
                message: Errors during parameter validation.
                timestamp: 1681338367402
        '403':
          description: 403 - Request Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 403
                message: The number of allowed requests is exceeded.
                timestamp: 1681338367402
        '429':
          description: 429 - Too Many Requests
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                status: 429
                message: Exceeded request rate limit for your account.
                timestamp: 1681338367402
      security:
      - apiKeyAuth: []
components:
  schemas:
    ApiLimitsDto:
      type: object
      properties:
        organizationName:
          type:
          - string
          - 'null'
          description: Name of the account (organization) the API key belongs to.
        requestsUsed:
          type:
          - integer
          - 'null'
          description: Number of billable requests used in the current tracking period.
          format: int64
        requestLimit:
          type:
          - integer
          - 'null'
          description: Maximum number of requests allowed in the current tracking period. Null means the account has no request limit.
          format: int64
        maxPageSize:
          type:
          - integer
          - 'null'
          description: Maximum number of results allowed per page (page size).
          format: int32
        paginationLimit:
          type:
          - integer
          - 'null'
          description: Maximum number of results that can be paginated through.
          format: int32
        articleContentTruncation:
          type:
          - integer
          - 'null'
          description: Number of characters article content is truncated to. Null means content is not truncated.
          format: int32
        since:
          type:
          - string
          - 'null'
          description: Start of the current tracking period.
          format: date-time
        lastMadeAt:
          type:
          - string
          - 'null'
          description: Timestamp of the last billable request.
          format: date-time
        resetAt:
          type:
          - string
          - 'null'
          description: When the request counter resets to zero.
          format: date-time
        subscriptionCancelAt:
          type:
          - string
          - 'null'
          description: Date the API subscription is scheduled to be cancelled. Absent when the subscription is not set to cancel.
          format: date-time
        keyStatuses:
          type:
          - array
          - 'null'
          description: Status of each API key supplied via the 'apiKeys' parameter, in the same order as the request. Absent when no keys were supplied.
          items:
            $ref: '#/components/schemas/ApiKeyStatus'
      description: Current API usage and limits for the authenticated account, optionally including the status of additional API keys that were requested. Reading this does not count against the account's request quota or rate limit.
    ApiKeyStatus:
      type: object
      properties:
        keyPreview:
          type:
          - string
          - 'null'
          description: Masked preview of the supplied API key.
        valid:
          type:
          - boolean
          - 'null'
          description: Whether the supplied API key is valid and belongs to the authenticated account.
        enabled:
          type:
          - boolean
          - 'null'
          description: Whether the API key is enabled. A disabled ('off') key is valid but cannot be used to make requests. False when the key is not valid.
        subscriptionActive:
          type:
          - boolean
          - 'null'
          description: Whether the account owning the key has an active subscription or trial.
        requestCount:
          type:
          - integer
          - 'null'
          description: Approx number of requests made with this API key in this billing cycle.
          format: int64
      description: Validity and status of a single API key.
    LimitsResult:
      required:
      - data
      type: object
      properties:
        data:
          $ref: '#/components/schemas/ApiLimitsDto'
      description: API usage and limits response.
      example:
        data:
          organizationName: Acme Research
          requestsUsed: 12450
          requestLimit: 100000
          maxPageSize: 100
          paginationLimit: 10000
          articleContentTruncation: null
          since: '2025-08-01T00:00:00Z'
          lastMadeAt: '2025-08-12T15:42:11Z'
          resetAt: '2025-09-01T00:00:00Z'
          subscriptionCancelAt: null
          keyStatuses:
          - keyPreview: abc...def
            valid: true
            enabled: true
            subscriptionActive: true
            requestCount: 320
    ErrorResponse:
      type: object
      properties:
        status:
          type:
          - integer
          - 'null'
          format: int32
        message:
          type:
          - string
          - 'null'
        timestamp:
          type:
          - integer
          - 'null'
          format: int64
  securitySchemes:
    apiKeyAuth:
      type: http
      scheme: bearer