MERCURY Html Table Extraction API

The html-table-extraction API from MERCURY — 1 operation(s) for html-table-extraction.

Operations 1

GET /buy/table Cited Table — HTML table → typed JSON rows + CSV, with signed provenance… #

Documentation

Specifications

Other Resources

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/mercury-hq-com-html-table-extraction-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

mercury-hq-com-html-table-extraction-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: MERCURY x402 storefront Html Table Extraction API
  version: '1'
  x-spec: mercury-storefront/1
  description: Agent-payable resources over HTTP 402 (x402). LIVE — Base mainnet, real USDC, no token. Only currently-deliverable routes are listed (web-fetch is the live paid SKU; mints are gated off). Free discovery at /.well-known/x402, /x402/discovery, /catalog, and /manifest.
servers:
- url: https://network.mercury-hq.com
tags:
- name: html-table-extraction
paths:
  /buy/table:
    get:
      summary: Cited Table — HTML table → typed JSON rows + CSV, with signed provenance…
      description: 'URL in → the page''s main HTML

        (s) parsed into typed, header-keyed rows (JSON) + clean RFC-4180 CSV, with a signed provenance receipt over the exact extracted grid. Deterministic, keyless, no LLM — x402, USDC on Base mainnet.'
      operationId: buy_cited_table
      tags:
      - html-table-extraction
      responses:
        '200':
          description: Delivered after the x402 payment settles on Base mainnet.
          content:
            application/json:
              schema:
                type: object
                properties:
                  ok:
                    type: boolean
                    description: true on success; false on an honest failure (still delivered, but 503-before-charge)
                  url:
                    type: string
                    description: final URL after redirects
                  status:
                    type: integer
                    description: upstream HTTP status
                  text:
                    type: string
                    description: 'the canonical signed string: JSON.stringify(data, sorted-keys) — the exact bytes the provenance receipt covers'
                  fetchedAt:
                    type: string
                    description: ISO timestamp of the fetch (also in the signed attestation)
                  data:
                    type: object
                    description: the structured product the buyer consumes
                    properties:
                      title:
                        type: string
                        description: page <title>
                      tableCount:
                        type: integer
                        description: number of data tables found on the page
                      returned:
                        type: integer
                        description: number of tables returned in this response
                      truncatedTables:
                        type: boolean
                        description: true if MAX_TABLES clipped the set
                      tables:
                        type: array
                        description: each extracted table
                        items:
                          type: object
                          properties:
                            index:
                              type: integer
                              description: 0-based position in the document
                            columns:
                              type: array
                              items:
                                type: string
                              description: ordered, de-duplicated column names (from <th>/first row)
                            rowCount:
                              type: integer
                            ragged:
                              type: boolean
                              description: true if any row's cell count != header width (colspan/rowspan)
                            rows:
                              type: array
                              description: header-keyed row objects (cell text)
                              items:
                                type: object
                                additionalProperties:
                                  type: string
                            csv:
                              type: string
                              description: RFC-4180 CSV of this table (omitted when ?format=json)
                  attestation:
                    type: object
                    description: EIP-191 provenance receipt over `text` (the canonical sorted-key JSON of the extracted grid), ecrecoverable OFFLINE (key at /.well-known/mercury-attestation). Proves the ROWS are genuine + untampered.
                    properties:
                      keyId:
                        type: string
                      alg:
                        type: string
                      address:
                        type: string
                      contentHash:
                        type: string
                      nonce:
                        type: string
                      signedAt:
                        type: string
                      signature:
                        type: string
                      verify:
                        type: object
                        properties:
                          message:
                            type: string
                          howTo:
                            type: string
                  error:
                    type: string
                    description: present only when ok:false
                required:
                - ok
                - url
                additionalProperties: true
        '402':
          description: Payment Required — retry with an x402-signed payment (e.g. x402-fetch). Terms are in the challenge body (x402 v1).
      parameters:
      - name: url
        in: query
        required: true
        schema:
          type: string
          maxLength: 2048
          description: the page to extract tables from (http/https)
        description: the page to extract tables from (http/https)
      - name: table
        in: query
        required: false
        schema:
          type: string
          maxLength: 8
          description: 'optional: 0-based index of a SINGLE table to return (document order). Omit to return ALL tables found (up to the cap).'
        description: 'optional: 0-based index of a SINGLE table to return (document order). Omit to return ALL tables found (up to the cap).'
      - name: format
        in: query
        required: false
        schema:
          type: string
          enum:
          - both
          - json
          - csv
          description: 'optional: which serialisations to include in `data` (default: both).'
        description: 'optional: which serialisations to include in `data` (default: both).'
      x-payment-info:
        protocols:
        - x402
        scheme: exact
        price: $0.006
        currency: USDC
        network: base
        networkCaip2: eip155:8453
        testnet: false
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        payTo: '0xe10B9d44e72A29B9c19da02981FFCd875308e3C1'
        facilitator: https://api.cdp.coinbase.com/platform/v2/x402
        x402Version: 1
      x-x402:
        scheme: exact
        price: $0.006
        currency: USDC
        network: base
        networkCaip2: eip155:8453
        asset: '0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913'
        payTo: '0xe10B9d44e72A29B9c19da02981FFCd875308e3C1'
        facilitator: https://api.cdp.coinbase.com/platform/v2/x402
        testnet: false
        maxTimeoutSeconds: 60
x-payment-info:
  protocols:
  - x402
  network: base
  currency: USDC
  payTo: '0xe10B9d44e72A29B9c19da02981FFCd875308e3C1'
  facilitator: https://api.cdp.coinbase.com/platform/v2/x402
  testnet: false
  spec: mercury-storefront/1