B3

B3 Insights/blocks API

ThirdWeb Insights block data

Operations 1

GET /insights/v1/blocks Get blocks

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/b3-insights-blocks-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

b3-insights-blocks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Cached proxy layer for multiple blockchain APIs with 24-hour caching and automatic fallback across chains. Supports both Blockscout and ThirdWeb Insights APIs. Add ?mintlify parameter for Mintlify-compatible version.
  version: 1.0.0
  title: B3 Data API - Multi-Chain Data Insights/blocks API
  contact:
    name: B3 Team
    url: https://b3.fun
  license:
    name: Apache 2.0
    url: http://www.apache.org/licenses/LICENSE-2.0.html
servers:
- url: https://data-api.b3.fun/
  description: B3 Data API - Multi-Chain Proxy
tags:
- name: insights/blocks
  description: ThirdWeb Insights block data
paths:
  /insights/v1/blocks:
    get:
      description: Get blocks
      summary: Get blocks
      tags:
      - insights/blocks
      parameters:
      - name: chain
        in: query
        required: false
        deprecated: true
        description: Use chain_id instead
        schema:
          type: array
          example:
          - 20
          - 56
          - 1
          items:
            type: number
      - name: chain_id
        in: query
        required: false
        description: The chain ID(s) to request the data for. You can specify multiple chain IDs, up to a maximum of 55. Use repeated query parameters, e.g., `?chain_id=20&chain_id=56`. Optional, because a single chain can as well be specified as a subdomain
        schema:
          type: array
          example:
          - 20
          - 56
          - 1
          items:
            type: number
      - $ref: '#/components/parameters/filterBlockNumber'
      - $ref: '#/components/parameters/filterBlockNumberGte'
      - $ref: '#/components/parameters/filterBlockNumberGt'
      - $ref: '#/components/parameters/filterBlockNumberLte'
      - $ref: '#/components/parameters/filterBlockNumberLt'
      - $ref: '#/components/parameters/filterBlockTimestamp'
      - $ref: '#/components/parameters/filterBlockTimestampGte'
      - $ref: '#/components/parameters/filterBlockTimestampGt'
      - $ref: '#/components/parameters/filterBlockTimestampLte'
      - $ref: '#/components/parameters/filterBlockTimestampLt'
      - $ref: '#/components/parameters/sortBy'
      - $ref: '#/components/parameters/sortOrder'
      - $ref: '#/components/parameters/groupBy'
      - $ref: '#/components/parameters/aggregate'
      - $ref: '#/components/parameters/filterHash'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/page'
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        chain_id:
                          type: number
                        block_number:
                          type: number
                        block_hash:
                          type: string
                        parent_hash:
                          type: string
                        block_timestamp:
                          type: number
                        nonce:
                          type: string
                        sha3_uncles:
                          type: string
                        mix_hash:
                          type: string
                        miner:
                          type: string
                        state_root:
                          type: string
                        transactions_root:
                          type: string
                        receipts_root:
                          type: string
                        logs_bloom:
                          type: string
                        size:
                          type: number
                        extra_data:
                          type: string
                        difficulty:
                          type: string
                        total_difficulty:
                          type: string
                        transaction_count:
                          type: number
                        gas_limit:
                          type: number
                        gas_used:
                          type: number
                        withdrawals_root:
                          type: string
                        base_fee_per_gas:
                          type: number
                      required:
                      - chain_id
                      - block_number
                      - block_hash
                      - parent_hash
                      - block_timestamp
                      - nonce
                      - sha3_uncles
                      - mix_hash
                      - miner
                      - state_root
                      - transactions_root
                      - receipts_root
                      - logs_bloom
                      - size
                      - extra_data
                      - difficulty
                      - total_difficulty
                      - transaction_count
                      - gas_limit
                      - gas_used
                      - withdrawals_root
                      - base_fee_per_gas
                  aggregations: {}
                  meta:
                    type: object
                    properties:
                      chain_ids:
                        type: array
                        items:
                          type: number
                      address:
                        type: string
                      signature:
                        type: string
                      page:
                        type: number
                      limit_per_chain:
                        type: number
                      total_items:
                        type: number
                      total_pages:
                        type: number
                    required:
                    - chain_ids
                    - page
                    - limit_per_chain
                    - total_items
                    - total_pages
                required:
                - meta
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                - error
components:
  parameters:
    filterHash:
      schema:
        type: string
        description: Filter by transaction hash
        example: '0x218b632d932371478d1ae5a01620ebab1a2030f9dad6f8fba4a044ea6335a57e'
      required: false
      name: filter_hash
      in: query
    filterBlockNumberGte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number greater than or equal to
        example: 1000000
      required: false
      name: filter_block_number_gte
      in: query
    filterBlockTimestamp:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp
        example: 1715222400
      required: false
      name: filter_block_timestamp
      in: query
    filterBlockNumberLt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number less than
        example: 1000000
      required: false
      name: filter_block_number_lt
      in: query
    filterBlockNumber:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number
        example: 1000000
      required: false
      name: filter_block_number
      in: query
    page:
      schema:
        type:
        - integer
        - 'null'
        minimum: 0
        default: 0
        description: 'Page number (0-indexed). Maximum value depends on query parameters: 20 for regular queries, 500 when using aggregate or group_by parameters.'
        example: 0
      required: false
      name: page
      in: query
    filterBlockNumberLte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number less than or equal to
        example: 1000000
      required: false
      name: filter_block_number_lte
      in: query
    sortOrder:
      schema:
        type: string
        enum:
        - asc
        - desc
        description: Sort order (asc or desc)
        example: desc
      required: false
      name: sort_order
      in: query
    filterBlockTimestampGt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp greater than
        example: 1715222400
      required: false
      name: filter_block_timestamp_gt
      in: query
    filterBlockTimestampGte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp greater than or equal to
        example: 1715222400
      required: false
      name: filter_block_timestamp_gte
      in: query
    filterBlockTimestampLt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp less than
        example: 1715222400
      required: false
      name: filter_block_timestamp_lt
      in: query
    limit:
      schema:
        type: integer
        maximum: 1000
        default: 20
        description: The number of items to return
        example: 20
        exclusiveMinimum: 0
      required: false
      name: limit
      in: query
    groupBy:
      schema:
        type:
        - string
        - 'null'
        description: Field(s) to group by. You can specify multiple with repeated query parameters, e.g., ?group_by=chain_id&group_by=block_number
      required: false
      name: group_by
      in: query
    aggregate:
      schema:
        type:
        - string
        - 'null'
        description: Aggregation(s). You can specify multiple with repeated query parameters, e.g., ?aggregate=count()&aggregate=sum(gas_used)
        example: count() as count
      required: false
      name: aggregate
      in: query
    sortBy:
      schema:
        anyOf:
        - type: string
          enum:
          - block_number
          title: constant
        - type: string
          title: string
        description: Field to sort results by
        example: block_number
      required: false
      name: sort_by
      in: query
    filterBlockNumberGt:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block number greater than
        example: 1000000
      required: false
      name: filter_block_number_gt
      in: query
    filterBlockTimestampLte:
      schema:
        type:
        - number
        - 'null'
        description: Filter by block timestamp less than or equal to
        example: 1715222400
      required: false
      name: filter_block_timestamp_lte
      in: query
  securitySchemes:
    clientId:
      type: apiKey
      in: header
      name: x-client-id
      description: thirdweb client ID in headers
    secretKey:
      type: apiKey
      in: header
      name: x-secret-key
      description: thirdweb secret key in headers
    dashboard:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: thirdweb JWT + Client ID
    clientId-query:
      type: apiKey
      in: query
      name: clientId
      description: thirdweb client ID in query params
x-proxy-info:
  supported-chains:
  - chainId: 243
    name: Reach Testnet
    network: reach-testnet
    apiUrl: https://reach-testnet.explorer.caldera.xyz/api/v2
  - chainId: 1993
    name: B3 Testnet
    network: b3-testnet
    apiUrl: https://sepolia.explorer.b3.fun/api/v2
  - chainId: 4224
    name: Arpachain
    network: arpachain
    apiUrl: https://arpachain.calderaexplorer.xyz/api/v2
  - chainId: 8333
    name: B3 Mainnet
    network: b3
    apiUrl: https://blockscout.b3.fun/api/v2
  - chainId: 19934
    name: B4 Testnet
    network: b4-testnet
    apiUrl: https://b4-testnet.explorer.caldera.xyz/api/v2
  - chainId: 10211403
    name: GLHF Testnet
    network: glhf-testnet
    apiUrl: https://glhf-testnet.explorer.caldera.xyz/api/v2
  supported-services:
  - name: blockscout
    path: /blockscout/*
    description: Blockchain explorer API with multi-chain fallback
  - name: thirdweb-insights
    path: /insights/*
    description: ThirdWeb Insights API for chain analytics
  default-chain: 8333
  cache-duration: 24 hours
  cache-strategy: KV store
  fallback-strategy: 'Blockscout: Query default chain first, then all chains in parallel if no results. ThirdWeb: Direct chain query only.'