Massive

Stock API with real-time and historical tick data, unlimited usage via REST or WebSockets, standardized JSON and CSV formats. Instant access free tier.

TradingLiveeip155:8453Exactvia cdp
FilingsSecEdgarStocks
Calls · 30d
21↑ 106%
This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 25 snapshots so far.
$29.35
Verified settled volume
2,935 settlements proven x402 by their on-chain EIP-3009 marker.
$0.010
Listed price
As published in the catalog. Always read the live 402 before paying.
21
Calls · 30d
Upstream's own call count for this endpoint, not ours.
5
Unique payers · 30d
Last called 2026-09-18 15:38Z
Upstream on-chain volume
Reported by the source catalog.
Paid to
0x525f6dDcE9aF7a7179D7696aaBfCd5FCd15a21e6

The wallet the 402 directs payment to. Its whole payment record — every payer, every chain — is on the merchant page.

Asset 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913

Provider

The payTo wallet does not resolve to a registered ERC-8004 agent. That is not a verdict on the service — most of the catalog is unregistered.

Live 402 challenge

Captured by the enrichment pass, not read just now. Prices can change — always read the 402 the endpoint answers with.

{
  "status": "PAYMENT_REQUIRED",
  "message": "See the PAYMENT-REQUIRED header for the payment terms."
}

Accepts

The payment requirements as published to the catalog. Read the live 402 before paying — a price here is a claim, not a quote.

0.01USDC≈ $0.01 USD
on Base · exact scheme

Pay 0.01 USDC on Base to 0x525f…a21e6. The signed payment is good for 1 minute.

USD Coin contract
0x8335…02913
Payment window
1 minute
As published
10000 smallest units
The catalog’s raw entry
[
  {
    "asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
    "extra": {
      "name": "USD Coin",
      "version": "2"
    },
    "payTo": "0x525f6dDcE9aF7a7179D7696aaBfCd5FCd15a21e6",
    "amount": "10000",
    "scheme": "exact",
    "network": "eip155:8453",
    "maxTimeoutSeconds": 60
  }
]

Extensions

{
  "bazaar": {
    "info": {
      "input": {
        "type": "http",
        "method": "GET",
        "queryParams": {
          "sort": "filing_date.desc",
          "limit": 1000
        }
      },
      "output": {
        "type": "json",
        "example": {
          "status": "OK",
          "results": [
            {
              "cik": "0000320193",
              "ticker": "AAPL",
              "form_type": "10-K",
              "filing_url": "https://www.sec.gov/Archives/edgar/data/320193/0000320193-25-000079.txt",
              "filing_date": "2025-10-31",
              "issuer_name": "Apple Inc.",
              "accession_number": "0000320193-25-000079"
            },
            {
              "cik": "0000789019",
              "ticker": "MSFT",
              "form_type": "10-Q",
              "filing_url": "https://www.sec.gov/Archives/edgar/data/789019/0000950170-25-010491.txt",
              "filing_date": "2025-01-29",
              "issuer_name": "MICROSOFT CORP",
              "accession_number": "0000950170-25-010491"
            }
          ],
          "next_url": "https://api.massive.com/stocks/filings/vX/index?cursor=eyJsaW1pd...",
          "request_id": "1daccfd9794e482e96d104dee6ed432b"
        }
      }
    },
    "schema": {
      "type": "object",
      "$schema": "https://json-schema.org/draft/2020-12/schema",
      "required": [
        "input"
      ],
      "properties": {
        "input": {
          "type": "object",
          "required": [
            "type",
            "method"
          ],
          "properties": {
            "type": {
              "type": "string",
              "const": "http"
            },
            "method": {
              "enum": [
                "GET"
              ],
              "type": "string"
            },
            "queryParams": {
              "type": "object",
              "properties": {
                "cik": {
                  "type": "string",
                  "description": "SEC Central Index Key (CIK) identifying the filing entity."
                },
                "sort": {
                  "type": "string",
                  "default": "filing_date.desc",
                  "description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'filing_date' if not specified. The sort order defaults to 'desc' if not specified."
                },
                "limit": {
                  "type": "integer",
                  "default": 1000,
                  "maximum": 10000,
                  "minimum": 1,
                  "description": "Limit the maximum number of results returned. Defaults to '1000' if not specified. The maximum allowed limit is '10000'."
                },
                "cik.gt": {
                  "type": "string",
                  "description": "Filter greater than the value."
                },
                "cik.lt": {
                  "type": "string",
                  "description": "Filter less than the value."
                },
                "ticker": {
                  "type": "string",
                  "description": "Stock ticker symbol for the filing entity, if available."
                },
                "cik.gte": {
                  "type": "string",
                  "description": "Filter greater than or equal to the value."
                },
                "cik.lte": {
                  "type": "string",
                  "description": "Filter less than or equal to the value."
                },
                "form_type": {
                  "type": "string",
                  "description": "SEC form type (e.g., '10-K', '10-Q', '8-K', 'S-1', '4', etc.)."
                },
                "ticker.gt": {
                  "type": "string",
                  "description": "Filter greater than the value."
                },
                "ticker.lt": {
                  "type": "string",
                  "description": "Filter less than the value."
                },
                "cik.any_of": {
                  "type": "string",
                  "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list."
                },
                "ticker.gte": {
                  "type": "string",
                  "description": "Filter greater than or equal to the value."
                },
                "ticker.lte": {
                  "type": "string",
                  "description": "Filter less than or equal to the value."
                },
                "filing_date": {
                  "type": "string",
                  "description": "Date when the filing was submitted to the SEC (formatted as YYYY-MM-DD). Value must be formatted 'yyyy-mm-dd'."
                },
                "form_type.gt": {
                  "type": "string",
                  "description": "Filter greater than the value."
                },
                "form_type.lt": {
                  "type": "string",
                  "description": "Filter less than the value."
                },
                "form_type.gte": {
                  "type": "string",
                  "description": "Filter greater than or equal to the value."
                },
                "form_type.lte": {
                  "type": "string",
                  "description": "Filter less than or equal to the value."
                },
                "ticker.any_of": {
                  "type": "string",
                  "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list."
                },
                "filing_date.gt": {
                  "type": "string",
                  "description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'."
                },
                "filing_date.lt": {
                  "type": "string",
                  "description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'."
                },
                "filing_date.gte": {
                  "type": "string",
                  "description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'."
                },
                "filing_date.lte": {
                  "type": "string",
                  "description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'."
                },
                "form_type.any_of": {
                  "type": "string",
                  "description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list."
                }
              }
            }
          },
          "additionalProperties": false
        },
        "output": {
          "type": "object",
          "required": [
            "type"
          ],
          "properties": {
            "type": {
              "type": "string"
            },
            "example": {
              "type": "object"
            }
          }
        }
      }
    }
  }
}

Provenance

Seen in the source catalog
2026-09-18 15:38Z
Last indexed by Roundhouse
2026-09-24 14:10Z
Last enriched (probe, favicon, geo)
2026-09-21 23:15Z
x402 version
2
Max timeout
60s
Liveness probe
HTTP 402
Report

Hand this page to an agent

Copy the prompt and paste it into Claude, an MCP client or your own agent — it will vet this service and call it over the free read API. No key, no account.

GET api.roundhouseai.io/v0/endpoints

This endpoint's own trailing-30-day call count, as published by the upstream catalog and snapshotted daily. 25 snapshots so far. Verified volume counts only settlements with an on-chain EIP-3009 marker.

Open skill.md
Show the prompt
Using Roundhouse, look up the x402 service Massive and tell me whether it is
worth paying: what a call costs, whether the endpoint answered when last probed, and what
its payment record actually shows.

curl -s 'https://api.roundhouseai.io/v0/endpoints?q=Massive'
curl -s 'https://api.roundhouseai.io/v0/merchants/<the payTo wallet returned above>'

Then call it: read the price from the live 402 at https://agent.massive.com/stocks/filings/vX/index, never from
a cached figure, and pay with an x402 client.

The /v0 API needs an API key (`authorization: Bearer rh_live_…`) on everything except
/v0/unified* and /v0/endpoints. Mint a personal key for $0.01 at GET https://api.roundhouseai.io/v0/test/x402,
or use an organization key from https://roundhouseai.io/dashboard/team.

If you do not have Roundhouse tools or skills installed, read
https://roundhouseai.io/skill.md first — it is the whole procedure.