Polkadot paras API

Parachain inclusion data

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/polkadot-paras-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 email required.

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

OpenAPI Specification

polkadot-paras-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Polkadot REST Account paras API
  description: High-performance Rust REST API for Substrate/Polkadot blockchain data. Drop-in replacement for substrate-api-sidecar.
  contact:
    url: https://github.com/paritytech/polkadot-rest-api
  license:
    name: GPL-3.0-or-later
  version: 0.1.3
servers:
- url: http://localhost:8080/v1
  description: Localhost
tags:
- name: paras
  description: Parachain inclusion data
paths:
  /v1/paras/{number}/inclusion:
    get:
      tags:
      - paras
      summary: Parachain inclusion data
      description: Returns inclusion information for a given parachain block, searching relay chain blocks for when the parachain block was included.
      operationId: get_paras_inclusion
      parameters:
      - name: number
        in: path
        description: Parachain block number
        required: true
        schema:
          type: string
      - name: depth
        in: query
        description: Search depth for relay chain blocks (max 100, default 10, must be divisible by 5)
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Parachain inclusion information
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Invalid parameters
        '500':
          description: Internal server error
        '503':
          description: Service unavailable
  /paras:
    get:
      tags:
      - paras
      summary: '[DEPRECATION NOTE: PHASED OUT ENDPOINT IN FAVOR OF CORETIME] List all registered paras (parathreads & parachains).

        '
      description: Returns all registered parachains and parathreads with lifecycle info.
      parameters:
      - name: at
        in: query
        description: Block at which to retrieve paras list at.
        required: false
        schema:
          type: string
          description: Block identifier, as the block height or block hash.
          format: unsignedInteger or $hex
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Paras'
  /paras/leases/current:
    get:
      tags:
      - paras
      summary: '[DEPRECATION NOTE: PHASED OUT ENDPOINT IN FAVOR OF CORETIME] Get general information about the current lease period.

        '
      description: 'Returns an overview of the current lease period, including lease holders.

        '
      parameters:
      - name: at
        in: query
        description: Block at which to retrieve current lease period info at.
        required: false
        schema:
          type: string
          description: Block identifier, as the block height or block hash.
          format: unsignedInteger or $hex
      - name: currentLeaseHolders
        in: query
        description: 'Wether or not to include the `currentLeaseHolders` property. Inclusion

          of the property will likely result in a larger payload and increased

          response time.

          '
        required: false
        schema:
          type: boolean
          default: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParasLeasesCurrent'
  /paras/auctions/current:
    get:
      tags:
      - paras
      summary: '[DEPRECATION NOTE: PHASED OUT ENDPOINT IN FAVOR OF CORETIME] Get the status of the current auction.

        '
      description: 'Returns an overview of the current auction. There is only one auction

        at a time. If there is no auction most fields will be `null`. If the current

        auction phase is in `vrfDelay` and you are looking to retrieve the latest winning

        bids, it is advised to query one block before `finishEnd` in the `endingPeriod` phase

        for that auction as there technically are no winners during the `vrfDelay` and thus

        the field is `null`.

        '
      parameters:
      - name: at
        in: query
        description: Block at which to retrieve auction progress at.
        required: false
        schema:
          type: string
          description: Block identifier, as the block height or block hash.
          format: unsignedInteger or $hex
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParasAuctionsCurrent'
  /paras/crowdloans:
    get:
      tags:
      - paras
      summary: '[DEPRECATION NOTE: PHASED OUT ENDPOINT IN FAVOR OF CORETIME] List all stored crowdloans.

        '
      description: 'Returns a list of all the crowdloans and their associated paraIds.

        '
      parameters:
      - name: at
        in: query
        description: Block at which to retrieve the list of paraIds that have crowdloans at.
        required: false
        schema:
          type: string
          description: Block identifier, as the block height or block hash.
          format: unsignedInteger or $hex
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParasCrowdloans'
  /paras/{paraId}/crowdloan-info:
    get:
      tags:
      - paras
      summary: '[DEPRECATION NOTE: PHASED OUT ENDPOINT IN FAVOR OF CORETIME] Get crowdloan information for a `paraId`.

        '
      description: 'Returns crowdloan''s `fundInfo` and the set of `leasePeriods` the crowdloan`

        covers.

        '
      parameters:
      - name: paraId
        in: path
        description: paraId to query the crowdloan information of.
        required: true
        schema:
          type: number
      - name: at
        in: query
        description: Block at which to retrieve info at.
        required: false
        schema:
          type: string
          description: Block identifier, as the block height or block hash.
          format: unsignedInteger or $hex
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParasCrowdloanInfo'
  /paras/{paraId}/lease-info:
    get:
      tags:
      - paras
      summary: '[DEPRECATION NOTE: PHASED OUT ENDPOINT IN FAVOR OF CORETIME] Get current and future leases as well as the lifecycle stage for a given `paraId`.

        '
      description: 'Returns a list of leases that belong to the `paraId` as well as the

        `paraId`''s current lifecycle stage.

        '
      parameters:
      - name: paraId
        in: path
        description: paraId to query the crowdloan information of.
        required: true
        schema:
          type: number
      - name: at
        in: query
        description: Block at which to retrieve para's leases at.
        required: false
        schema:
          type: string
          description: Block identifier, as the block height or block hash.
          format: unsignedInteger or $hex
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParasLeaseInfo'
  /paras/head/included-candidates:
    get:
      tags:
      - paras
      summary: '[DEPRECATION NOTE: PHASED OUT ENDPOINT IN FAVOR OF CORETIME] Get the heads of the included (backed and considered available) parachain candidates at the

        specified block height or at the most recent finalized head otherwise.

        '
      description: 'Returns an object with all the parachain id''s as keys, and their headers as values.

        '
      parameters:
      - name: at
        in: query
        description: Block at which to retrieve para's heads at.
        required: false
        schema:
          type: string
          description: Block identifier, as the block height or block hash.
          format: unsignedInteger or $hex
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParasHeaders'
  /paras/head/backed-candidates:
    get:
      tags:
      - paras
      summary: '[DEPRECATION NOTE: PHASED OUT ENDPOINT IN FAVOR OF CORETIME] Get the heads of the backed parachain candidates at the specified block height or at the most recent finalized head otherwise.

        '
      description: 'Returns an object with all the parachain id''s as keys, and their headers as values.

        '
      parameters:
      - name: at
        in: query
        description: Block at which to retrieve para's heads at.
        required: false
        schema:
          type: string
          description: Block identifier, as the block height or block hash.
          format: unsignedInteger or $hex
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParasHeaders'
  /paras/{number}/inclusion:
    get:
      tags:
      - paras
      summary: Get relay chain inclusion information for a specific parachain block.
      description: 'Returns the relay chain block number where a parachain block was included,

        along with the relay parent number used during production. This endpoint helps

        track the lifecycle of parachain blocks from production to inclusion.


        **Note**: This endpoint requires a multi-chain connection (both parachain and relay chain APIs).

        '
      parameters:
      - name: number
        in: path
        description: Parachain block number to find inclusion information for.
        required: true
        schema:
          type: string
          format: unsignedInteger
      - name: depth
        in: query
        description: Maximum number of relay chain blocks to search for inclusion (must be divisible by 5, max 100).
        required: false
        schema:
          type: integer
          minimum: 5
          maximum: 100
          multipleOf: 5
          default: 10
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParachainInclusion'
        '400':
          description: Invalid depth parameter
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: Depth parameter must be divisible by 5 for optimal performance.
components:
  schemas:
    ParasLeasesCurrent:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        leasePeriodIndex:
          type: string
          format: unsignedInteger
          description: Current lease period index. This value may be null when the current block now, substracted by the leaseOffset is less then zero.
        endOfLeasePeriod:
          type: string
          format: unsignedInteger
          description: Last block (number) of the current lease period. This value may be null when `leasePeriodIndex` is null.
        currentLeaseHolders:
          type: array
          items:
            type: string
            format: unsignedInteger
          description: List of `paraId`s that currently hold a lease.
    ParasHeaders:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        paraId:
          type: object
          description: "The key is not named `paraId` and will be the number of the parachain. There is technically no limit to the number of paraId keys there can be. \n"
          properties:
            hash:
              type: string
              description: The block's hash.
              format: hex
            number:
              type: string
              description: The block's height.
              format: unsignedInteger
            parentHash:
              type: string
              description: The hash of the parent block.
              format: hex
            stateRoot:
              type: string
              description: The state root after executing this block.
              format: hex
            extrinsicsRoot:
              type: string
              description: The Merkle root of the extrinsics.
              format: hex
            digest:
              type: object
              properties:
                logs:
                  type: array
                  items:
                    $ref: '#/components/schemas/DigestItem'
                  description: Array of `DigestItem`s associated with the block.
    Paras:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        paras:
          type: array
          items:
            $ref: '#/components/schemas/Para'
    Para:
      type: object
      properties:
        paraId:
          type: string
          format: unsignedInteger
        paraLifecycle:
          $ref: '#/components/schemas/ParaLifecycle'
        onboardingAs:
          $ref: '#/components/schemas/OnboardingAs'
    ParasCrowdloans:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        funds:
          type: array
          items:
            type: object
            properties:
              paraId:
                type: string
                format: unsignedInteger
              fundInfo:
                $ref: '#/components/schemas/FundInfo'
          description: 'List of paras that have crowdloans.

            '
    WinningData:
      type: object
      properties:
        bid:
          type: object
          properties:
            accountId:
              type: string
            paraId:
              type: string
              format: unsignedInteger
            amount:
              type: string
              format: unsignedInteger
        leaseSet:
          type: array
          items:
            type: string
            format: unsignedInteger
      description: 'A currently winning bid and the set of lease periods the bid is for. The

        `amount` of the bid is per lease period. The `bid` property will be `null`

        if no bid has been made for the corresponding `leaseSet`.

        '
    FundInfo:
      type: object
      properties:
        depositor:
          type: string
        verifier:
          type: string
        deposit:
          type: string
          format: unsignedInteger
        raised:
          type: string
          format: unsignedInteger
        end:
          type: string
          format: unsignedInteger
        cap:
          type: string
          format: unsignedInteger
        lastConstribution:
          type: string
          enum:
          - preEnding
          - ending
        firstPeriod:
          type: string
          format: unsignedInteger
        lastPeriod:
          type: string
          format: unsignedInteger
        trieIndex:
          type: string
          format: unsignedInteger
    DigestItem:
      type: object
      properties:
        type:
          type: string
        index:
          type: string
          format: unsignedInteger
        value:
          type: array
          items:
            type: string
    OnboardingAs:
      type: string
      enum:
      - parachain
      - parathread
      description: 'This property only shows up when `paraLifecycle=onboarding`. It

        describes if a particular para is onboarding as a `parachain` or a

        `parathread`.

        '
    ParasAuctionsCurrent:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        beginEnd:
          type: string
          format: unisgnedInteger or $null
          description: 'Fist block (number) of the auction ending phase. `null` if there is no ongoing

            auction.

            '
        finishEnd:
          type: string
          format: unisgnedInteger or $null
          description: 'Last block (number) of the auction ending phase. `null` if there is no ongoing

            auction.

            '
        phase:
          type: string
          enum:
          - startPeriod
          - endPeriod
          - vrfDelay
          description: 'An auction can be in one of 4 phases. Both `startingPeriod` () and `endingPeriod` indicate

            an ongoing auction, while `vrfDelay` lines up with the `AuctionStatus::VrfDelay` . Finally, a value of `null`

            indicates there is no ongoing auction. Keep in mind the that the `finishEnd` field is the block number the

            `endingPeriod` finishes and the `vrfDelay` period begins. The `vrfDelay` period is typically about an

            epoch long and no crowdloan contributions are accepted.

            '
        auctionIndex:
          type: string
          format: unsignedInteger
          description: 'The auction number. If there is no current auction this will be the number

            of the previous auction.

            '
        leasePeriods:
          type: array
          items:
            type: string
            format: unsignedInteger
          description: 'Lease period indexes that may be bid on in this auction. `null` if

            there is no ongoing auction.

            '
        winning:
          type: array
          items:
            $ref: '#/components/schemas/WinningData'
    ParachainInclusion:
      type: object
      properties:
        parachainBlock:
          type: integer
          description: The parachain block number that was searched for.
        parachainBlockHash:
          type: string
          format: hex
          description: The hash of the parachain block.
        parachainId:
          type: integer
          description: The parachain ID.
        relayParentNumber:
          type: integer
          description: The relay chain block number used as parent during parachain block production.
        inclusionNumber:
          type: integer
          nullable: true
          description: The relay chain block number where the parachain block was included (null if not found).
        found:
          type: boolean
          description: Whether the inclusion was found within the search depth.
      required:
      - parachainBlock
      - parachainBlockHash
      - parachainId
      - relayParentNumber
      - inclusionNumber
      - found
    ParaLifecycle:
      type: string
      enum:
      - onboarding
      - parathread
      - parachain
      - upgradingParathread
      - downgradingParachain
      - offboardingParathread
      - offboardingParachain
      description: 'The possible states of a para, to take into account delayed lifecycle

        changes.

        '
    ParasLeaseInfo:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        paraLifecycle:
          $ref: '#/components/schemas/ParaLifecycle'
        onboardingAs:
          $ref: '#/components/schemas/OnboardingAs'
        leases:
          type: array
          items:
            type: object
            properties:
              leasePeriodIndex:
                type: string
                format: unsignedInteger
              account:
                type: string
              deposit:
                type: string
                format: unsignedInteger
          description: 'List of lease periods for which the `paraId` holds a lease along with

            the deposit held and the associated `accountId`.

            '
    BlockIdentifiers:
      type: object
      properties:
        hash:
          type: string
          description: The block's hash.
          format: hex
        height:
          type: string
          description: The block's height.
          format: unsignedInteger
    ParasCrowdloanInfo:
      type: object
      properties:
        at:
          $ref: '#/components/schemas/BlockIdentifiers'
        fundInfo:
          $ref: '#/components/schemas/FundInfo'
        leasePeriods:
          type: array
          items:
            type: string
            format: unsignedInteger
          description: Lease periods the crowdloan can bid on.