> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zenrows.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> The Zenrows API (Fetch, Extract, Crawl and Batch) is described in OpenAPI 3.1 at https://www.zenrows.com/openapi.json and listed in the RFC 9727 API catalog at https://www.zenrows.com/.well-known/api-catalog. Every endpoint also has its own page under /api-reference with its schema. Use the spec for exact parameter names and types. To call Zenrows from an agent, connect the MCP server at https://mcp.zenrows.com/mcp. To search these docs from an agent, connect the docs MCP server at https://docs.zenrows.com/mcp. Agent skills for Zenrows are published at https://github.com/ZenRows/cli and install with `npx skills add ZenRows/cli`.

# Read the plan behind the key

> Return the calling key's plan: credit allowance, credits used, and the concurrency it is allowed. Use it to budget before a large run.



## OpenAPI

````yaml /api-reference/openapi.json get /subscriptions/self/details
openapi: 3.1.0
info:
  title: Zenrows API
  version: 1.0.0
  summary: >-
    Reach any page, including the protected web, and return it as HTML,
    Markdown, plaintext, PDF or structured JSON.
  description: >-
    Zenrows is web data infrastructure for agents and applications. Three HTTP
    surfaces are described here:


    - **Fetch and Extract**: one synchronous request per page, at
    `https://api.zenrows.com/v1/`. Authentication is the `apikey` query
    parameter.

    - **Crawl**: collect the URLs behind one start page, at
    `https://api.zenrows.com/v1/crawls`. Authentication is the `X-API-Key`
    header or the `apikey` query parameter.

    - **Batch**: asynchronous jobs of up to 100,000 URLs, at
    `https://async.api.zenrows.com/v1`. Authentication is the `X-API-Key`
    header.


    **Browser** is not described here because it is not HTTP: you connect
    Puppeteer or Playwright to a WebSocket endpoint. See
    https://docs.zenrows.com/browser-sessions/introduction.


    **Cost.** A request costs 1 credit, 5 with JavaScript rendering, 10 with
    premium proxies, 25 with both, and 1 to 25 under `mode=auto`. Failed
    requests are never charged. The free tier is 5,000 credits a month, no card.


    **Versioning and deprecation.** The version is in the URL path (`/v1`, the
    only version so far). Inside a version Zenrows only adds: new endpoints,
    optional parameters, response fields and headers. Nothing is removed or
    changed. Retiring a version is announced at least twelve months ahead, and
    every response from a deprecated version carries the `Deprecation` (RFC
    9745) and `Sunset` (RFC 8594) headers. Policy:
    https://docs.zenrows.com/api-versioning.


    **Getting a key without a human.** `POST
    https://app.zenrows.com/api/agent/signup` returns a usable key; the spec is
    at https://www.zenrows.com/auth.md and a setup playbook at
    https://www.zenrows.com/SKILL.md.
  termsOfService: https://www.zenrows.com/legal/terms-of-use
  contact:
    name: Zenrows support
    email: support@zenrows.com
    url: https://www.zenrows.com/contact
  license:
    name: Proprietary
    url: https://www.zenrows.com/legal/terms-of-use
servers:
  - url: https://api.zenrows.com/v1
    description: Fetch and Extract (synchronous)
security:
  - apiKeyQuery: []
tags:
  - name: Fetch
    description: Retrieve one page, optionally rendered, proxied, converted or extracted.
  - name: Extract
    description: Which domains Extract serves, and getting a new one prepared.
  - name: Crawl
    description: Collect the URLs behind one start page, and each page's HTML when asked.
  - name: Batch
    description: Submit many URLs as one job and collect the results.
  - name: Account
    description: Plan, credits and concurrency for the calling key.
  - name: Onboarding
    description: Get a working key with no human in the loop.
externalDocs:
  description: Zenrows documentation
  url: https://docs.zenrows.com
paths:
  /subscriptions/self/details:
    get:
      tags:
        - Account
      summary: Read the plan behind the key
      description: >-
        Return the calling key's plan: credit allowance, credits used, and the
        concurrency it is allowed. Use it to budget before a large run.
      operationId: getSubscriptionDetails
      responses:
        '200':
          description: Plan, credit and concurrency figures for the calling key.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: The subscription's state, for example `ACTIVE`.
                  period_starts_at:
                    type: string
                    format: date-time
                  period_ends_at:
                    type: string
                    format: date-time
                    description: When the credit allowance renews.
                  usage:
                    type: number
                    description: Spend this period, in US dollars.
                  usage_credits:
                    type: integer
                    description: Credits used this period, across products.
                  credit_limit:
                    type: integer
                    description: Credits the plan includes for the period.
                  usage_percent:
                    type: integer
                    description: '`usage_credits` as a whole percentage of `credit_limit`.'
                  plan:
                    type: object
                    properties:
                      name:
                        type: string
                      price:
                        type: number
                      unit_cost:
                        type: number
                        description: Price of one credit, in US dollars.
                      recurrence:
                        type: string
                        examples:
                          - MONTHLY
                          - YEARLY
                      products:
                        type: object
                        description: >-
                          Usage per product. `api` also carries the plan's
                          concurrency.
                        properties:
                          api:
                            type: object
                            properties:
                              name:
                                type: string
                              usage:
                                type: number
                                description: Spend this period, in US dollars.
                              usage_credits:
                                type: integer
                                description: Credits used this period.
                              concurrency:
                                type: object
                                properties:
                                  limit:
                                    type: integer
                                  usage:
                                    type: integer
                          extract:
                            type: object
                            properties:
                              name:
                                type: string
                              usage:
                                type: number
                                description: Spend this period, in US dollars.
                              usage_credits:
                                type: integer
                                description: Credits used this period.
                          scraping_browser:
                            type: object
                            properties:
                              name:
                                type: string
                              usage:
                                type: number
                                description: Spend this period, in US dollars.
                              usage_credits:
                                type: integer
                                description: Credits used this period.
                          proxy_residential:
                            type: object
                            properties:
                              name:
                                type: string
                              usage:
                                type: number
                                description: Spend this period, in US dollars.
                              usage_credits:
                                type: integer
                                description: Credits used this period.
                          data_apis:
                            type: object
                            properties:
                              name:
                                type: string
                              usage:
                                type: number
                                description: Spend this period, in US dollars.
                              usage_credits:
                                type: integer
                                description: Credits used this period.
                  top_ups:
                    type: array
                    items:
                      type: object
                    description: Credit top-ups bought this period.
                  api_key:
                    type: object
                    properties:
                      caps:
                        type: array
                        items:
                          type: object
                        description: Credit caps set on the calling key.
              example:
                status: ACTIVE
                period_starts_at: '2026-10-01T00:00:00Z'
                period_ends_at: '2026-11-01T00:00:00Z'
                usage: 11.59
                usage_credits: 42000
                credit_limit: 250000
                usage_percent: 16
                plan:
                  name: Launch
                  price: 69
                  unit_cost: 0.000276
                  recurrence: MONTHLY
                  products:
                    api:
                      name: WebScraping API
                      usage: 8.56
                      usage_credits: 31000
                      concurrency:
                        limit: 20
                        usage: 2
                    extract:
                      name: Extract
                      usage: 0
                      usage_credits: 0
                    scraping_browser:
                      name: Scraping Browser
                      usage: 3.03
                      usage_credits: 11000
                    proxy_residential:
                      name: Residential Proxies
                      usage: 0
                      usage_credits: 0
                    data_apis:
                      name: Data APIs
                      usage: 0
                      usage_credits: 0
                top_ups: []
                api_key:
                  caps: []
        '401':
          description: The API key is missing or invalid.
          headers:
            X-Request-Id:
              $ref: '#/components/headers/XRequestId'
          content:
            application/problem+json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                code: AUTH002
                detail: Invalid API key.
                instance: /v1
                status: 401
                title: Invalid apikey provided (AUTH002)
                type: https://docs.zenrows.com/api-error-codes#AUTH002
      security:
        - apiKeyHeader: []
        - apiKeyQuery: []
components:
  headers:
    XRequestId:
      description: Identifier for this request. Quote it when reporting a problem.
      schema:
        type: string
        example: 67fa4e35647515d8ad61bb3ee041e1bb
  schemas:
    Error:
      type: object
      description: >-
        Zenrows error envelope, sent as `application/problem+json` (RFC 9457
        problem details). `code` is the stable identifier to branch on; `type`
        links to its entry in the catalogue at
        https://docs.zenrows.com/api-error-codes. Read back from live responses.
      properties:
        code:
          type: string
          example: AUTH002
        status:
          type: integer
          example: 401
        title:
          type: string
          example: Invalid apikey provided (AUTH002)
        detail:
          type: string
          example: Invalid API key.
        type:
          type: string
          format: uri
          example: https://docs.zenrows.com/api-error-codes#AUTH002
        instance:
          type: string
          description: >-
            The request path or a request URN. Quote it when reporting a
            problem.
          example: /v1
  securitySchemes:
    apiKeyQuery:
      type: apiKey
      in: query
      name: apikey
      description: >-
        Fetch, Extract, Crawl and the account endpoint accept the key as the
        `apikey` query parameter. Keys are per account and self-serve: create
        one in the Zenrows dashboard (app.zenrows.com), or, for an agent with no
        human present, `POST https://app.zenrows.com/api/agent/signup`.
    apiKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Batch, Crawl, the Extract endpoints and the account endpoint read the
        same key from the `X-API-Key` header.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.