Blockchain Data · x402

Return the filing history of a UK company from the Companies House register — accounts,…

Return the filing history of a UK company from the Companies House register — accounts, confirmation statements, officer appointments, address and capital changes, resolutions and mortgages — most recent first, optionally filtered by category, with date, form…

by api-staging.eckari.com · discovered, not yet claimed by its owner · updated 2026-08-27

Mirrored from Coinbase's public x402 Bazaar. The description is the provider's own text and has not been reviewed here; the payment requirements are copied as published.

What it does

Return the filing history of a UK company from the Companies House register — accounts, confirmation statements, officer appointments, address and capital changes, resolutions and mortgages — most recent first, optionally filtered by category, with date, form type (AA, CS01, AP01, TM01), the readable register description, registrar annotations and a document_url for every filed image. Use when: What has this UK company filed recently?

Tags: bazaar · payment-identifier

Use with an agent

  1. Discover. Agents find this listing with GET https://bazaar.saylorinnovations.com/discovery/search?query=…, the MCP tool search_resources, or /discovery/resources.
  2. Inspect. Fetch /resources/5373.json for the price and payment options.
  3. Pay. Call GET https://api-staging.eckari.com/v1/companies/uk/:company_number/filings. The provider answers 402 with its payment requirements. An x402 client signs one of the options below and retries with PAYMENT-SIGNATURE.
  4. Execute. The provider returns 200 with the data. Agent Bazaar is not in the request path and never sees your payment.

For humans

You don't need an account or an API key; you need a wallet holding a small amount of USDC on Base Sepolia, and an x402-capable client (see the examples below). Call the endpoint unpaid first to see exactly what it asks for.

Pricing & payment

Price
see accepts
Protocol
x402 v2
Auth
No account or API key. Pay per request.
Networks
Base Sepolia
Uptime
1 of the last 1 checks answered
Calls (30d)
2 · 1 unique payers (third-party data from the public x402 Bazaar)

x402 payment requirements

SchemeNetworkAssetAmountPay toTimeout
exactBase Sepolia
eip155:84532
USDC50000x7c0Ba1d16322Ee426D6508a74b571Dd73A5a35DA60s
accepts[] (raw JSON)
[
  {
    "scheme": "exact",
    "network": "eip155:84532",
    "payTo": "0x7c0Ba1d16322Ee426D6508a74b571Dd73A5a35DA",
    "asset": "0x036CbD53842c5426634e7929541eC2318f3dCF7e",
    "amount": "5000",
    "maxTimeoutSeconds": 60
  }
]

Schemas

Output schema (JSON Schema)
{
  "bazaar": {
    "info": {
      "input": {
        "method": "GET",
        "pathParams": {
          "company_number": "00445790"
        },
        "queryParams": {
          "limit": 3
        },
        "type": "http"
      },
      "output": {
        "example": {
          "data": {
            "company_number": "00445790",
            "filing_history_status": "filing-history-available",
            "is_filing_history_available": true,
            "items": [
              {
                "annotations": [
                  {
                    "annotation": "Clarification HMRC confirmation received that appropriate Stamp Duty has been paid for this transaction.",
                    "date": "2026-08-06",
                    "description": "annotation"
                  }
                ],
                "category": "capital",
                "date": "2026-08-06",
                "description": "Purchase of own shares.",
                "description_source": "enumeration",
                "document_url": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzUzNjI5NTk0OWFkaXF6a2N4/document?format=pdf",
                "has_document": true,
                "pages": 4,
                "paper_filed": true,
                "subcategory": null,
                "transaction_id": "MzUzNjI5NTk0OWFkaXF6a2N4",
                "type": "SH03"
              },
              {
                "annotations": [
                  {
                    "annotation": "Clarification HMRC confirmation received that appropriate Stamp Duty has been paid for this transaction.",
                    "date": "2026-08-06",
                    "description": "annotation"
                  }
                ],
                "category": "capital",
                "date": "2026-08-06",
                "description": "Purchase of own shares.",
                "description_source": "enumeration",
                "document_url": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzUzNjI5NTk1OWFkaXF6a2N4/document?format=pdf",
                "has_document": true,
                "pages": 4,
                "paper_filed": true,
                "subcategory": null,
                "transaction_id": "MzUzNjI5NTk1OWFkaXF6a2N4",
                "type": "SH03"
              },
              {
                "annotations": [
                  {
                    "annotation": "Clarification HMRC confirmation received that appropriate Stamp Duty has been paid for this transaction.",
                    "date": "2026-08-06",
                    "description": "annotation"
                  }
                ],
                "category": "capital",
                "date": "2026-08-06",
                "description": "Purchase of own shares.",
                "description_source": "enumeration",
                "document_url": "https://find-and-update.company-information.service.gov.uk/company/00445790/filing-history/MzUzNjI5NTk3MWFkaXF6a2N4/document?format=pdf",
                "has_document": true,
                "pages": 4,
                "paper_filed": true,
                "subcategory": null,
                "transaction_id": "MzUzNjI5NTk3MWFkaXF6a2N4",
                "type": "SH03"
              }
            ],
            "page": {
              "has_more": true,
              "limit": 3,
              "next_offset": 3,
              "offset": 0,
              "returned": 3,
              "total": 8367
            },
            "query": {
              "category": null,
              "detail": "summary"
            }
          },
          "meta": {
            "capability": "company.uk.filings",
            "freshness": "live",
            "source": "companies_house",
            "version": "3.0.0"
          }
        },
        "type": "json"
      }
    },
    "routeTemplate": "/v1/companies/uk/:company_number/filings",
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "input": {
          "additionalProperties": false,
          "properties": {
            "method": {
              "enum": [
                "GET",
                "HEAD",
                "DELETE"
              ],
              "type": "string"
            },
            "pathParams": {
              "additionalProperties": false,
              "properties": {
                "company_number": {
                  "description": "Companies House company number. The identifier itself is 1-8 letters/digits; surrounding whitespace is ignored (which is why maxLength is 10), but the value must not contain internal spaces. Short numeric values are zero-padded to 8 characters. A whitespace-only or over-long value is rejected as INVALID_INPUT before any payment or upstream call.",
                  "maxLength": 10,
                  "minLength": 1,
                  "pattern": "^\\s*[A-Za-z0-9]{1,8}\\s*$",
                  "type": "string"
                }
              },
              "required": [
                "company_number"
              ],
              "type": "object"
            },
            "queryParams": {
              "additionalProperties": false,
              "properties": {
                "category": {
                  "description": "Optional comma-separated register categories to include (e.g. accounts, address, annual-return, capital, change-of-name, incorporation, liquidation, miscellaneous, mortgage, officers, resolution, confirmation-statement). The applied value is echoed back as query.category.",
                  "maxLength": 200,
                  "pattern": "^[a-z-]+(,[a-z-]+)*$",
                  "type": "string"
                },
                "detail": {
                  "description": "How much of each filing to return. Default summary: the readable description, its source, the register's annotations, the form type and the document URL. `full` adds the register's raw description_key and description_values for reconciliation against a register capture.",
                  "enum": [
                    "summary",
                    "full"
                  ],
                  "type": "string"
                },
                "limit": {
                  "description": "Maximum filings to return per page (1-100). Default 5.",
                  "maximum": 100,
                  "minimum": 1,
                  "type": "integer"
                },
                "offset": {
                  "description": "Zero-based index into the register's filing list for the applied category filter. Nothing is filtered out after reading, so page.has_more is simply offset + returned < page.total; pass back page.next_offset.",
                  "maximum": 10000,
                  "minimum": 0,
                  "type": "integer"
                }
              },
              "type": "object"
            },
            "type": {
              "const": "http",
              "type": "string"
            }
          },
          "required": [
            "type",
            "method"
          ],
          "type": "object"
        },
        "output": {
          "properties": {
            "example": {
              "type": "object"
            },
            "type": {
              "type": "string"
            }
          },
          "required": [
            "type"
          ],
          "type": "object"
        }
      },
      "required": [
        "input"
      ],
      "type": "object"
    }
  },
  "payment-identifier": {
    "info": {
      "required": false
    },
    "schema": {
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "properties": {
        "id": {
          "maxLength": 128,
          "minLength": 16,
          "pattern": "^[a-zA-Z0-9_-]+$",
          "type": "string"
        },
        "required": {
          "type": "boolean"
        }
      },
      "required": [
        "required"
      ],
      "type": "object"
    }
  }
}
Example shape — generated from the schema, not a captured live response
null

Examples

curl
curl "https://api-staging.eckari.com/v1/companies/uk/:company_number/filings"
# -> 402 Payment Required, accepts[] lists how to pay
# retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://api-staging.eckari.com/v1/companies/uk/:company_number/filings");
if (res.status === 402) {
  const { accepts } = await res.json();
  // pay one of accepts[] via an x402 client, then retry with the payment header
}
Python
import httpx
res = httpx.get("https://api-staging.eckari.com/v1/companies/uk/:company_number/filings")
if res.status_code == 402:
    accepts = res.json()["accepts"]
    # pay one of accepts[] via an x402 client, then retry with the payment header

Details

Provider
api-staging.eckari.com
Endpoint
https://api-staging.eckari.com/v1/companies/uk/:company_number/filings
Machine-readable
/resources/5373.json