Published 2026-09-21 · Tested 2026-08-20

Massive.com

C-

Massive.com received 5 PASS votes and passed 4 of five agent surface checks. The clearest finding came from the find the exact limits task.

Panel: GPT 5.6 Sol, Opus 5, DeepSeek v4F Battery: v1 Read as markdown (opens in a new tab)

Three AI models, GPT 5.6 Sol, Claude Opus 5, and DeepSeek v4 Flash, each read Massive.com’s public documentation independently and attempted five first-hour developer jobs: make the first market-data request, find the exact limits, recover from a 429, authenticate a WebSocket connection, use the Python client.

No accounts, API calls, or code execution were used. Every verdict came from public pages and every published quotation passed a live verification check. Preflight substitutions: T4: WebSocket API-key authentication replaces webhooks.

Freshness

How rechecks work
Tested
Quotes verified
Surface rechecked

No change since the test.

3 of 5 quoted passages still appear on the live pages. The quoted page changed for Find the exact limits and Recover from a 429.

Massive.com Custom Next.js · published
C-

71.2% · 57/80 · AI Agent Readiness Score · reading 30 pts · surface 50 pts

llms.txt PASS
llms-full.txt PASS
markdown mirror PASS
MCP server PASS
docs AI FAIL
Task GPT 5.6 SolOpus 5DeepSeek v4F Consensus
Make the first market-data request PARTIALPARTIALPASS PARTIAL
Find the exact limits PASSPARTIALPARTIAL PARTIAL
Recover from a 429 FAILFAILFAIL FAIL
Authenticate a WebSocket connection PASSPASSPASS PASS
Use the Python client PARTIALPARTIALPARTIAL PARTIAL

docs platform: Custom Next.js (unscored) · verified 2026-08-20

What to fix first

These 5 fixes could add up to 23 points to the AI Agent Readiness Score. The list ranks each fix by the points it would add. How the ranking works

  1. 1
    +10 points Docs AI check failed

    Found: The live docs expose standard search but no public assistant control.

    Fix: Add an assistant to the docs site that answers questions from the docs and links to its sources.

  2. 2
    +6 points Recover from a 429 FAIL

    Found: No docs page mentions HTTP 429, and the knowledge-base article gives a 100-requests-per-second ceiling without retry timing or backoff.

    Fix: Add a 429 section to the REST docs with the trigger, the retry wait time, and a backoff example.

    Evidence: massive.com/knowledge-base/article/what-is-the-request-limit-for-massives-restful-apis (opens in a new tab)

  3. 3
    +3 points Use the Python client PARTIAL

    Found: Opus 5 found the install command only on GitHub. GPT found two package names and two dividend methods. DeepSeek found no dividend example in the README.

    Fix: State one package name and install command in the docs. Use list_stocks_dividends in every dividend example, including the README.

    Evidence: github.com/massive-com/client-python (opens in a new tab)

  4. 4

    Found: The REST Quickstart calls /v3/reference/dividends, which the docs mark deprecated, while the Dividends page documents /stocks/v1/dividends.

    Fix: Change the REST Quickstart's first request to /stocks/v1/dividends, and show that endpoint's response.

    Evidence: massive.com/docs/rest/quickstart (opens in a new tab)

  5. 5
    +2 points Find the exact limits PARTIAL

    Found: No page under /docs/ states the request limits, which appear only in a knowledge-base article and the pricing page.

    Fix: Add a rate-limits page under /docs/ that states the free-tier cap, paid-plan policy, recommended ceiling, and data access per plan.

    Evidence: massive.com/knowledge-base/article/what-is-the-request-limit-for-massives-restful-apis (opens in a new tab)

What the docs get right

  • Authenticate a WebSocket connection: 3 PASS votes. The official client documentation combines API-key authentication with WebSocket subscription configuration.
  • Make the first market-data request: 1 PASS votes. The full corpus labels the legacy dividends route as deprecated, so the first-request path still requires reconciling old and new routes.
  • 4 of 5 agent surface checks. Present: llms.txt, llms-full.txt, markdown mirrors, an MCP server. Missing: docs AI.

Make the first market-data request

PARTIAL

PARTIAL consensus from 1 PASS, 2 PARTIAL.

The quickstart calls deprecated /v3/reference/dividends, while its linked dividend reference specifies /stocks/v1/dividends. The signup, key-retrieval, and curl steps are unambiguous, but the quickstart's first call targets /v3/reference/dividends, which the documentation index labels "Dividends (Deprecated)", while the live Dividends page and its markdown mirror both document GET /stocks/v1/dividends. The REST Quickstart walks through signing up, obtaining an API key from the dashboard, choosing between query-string or header auth, and provides a working curl command against the dividends endpoint. The dividends endpoint documentation also shows the full URL, parameters, and sample response.

Find the exact limits

PARTIAL

PARTIAL consensus from 1 PASS, 2 PARTIAL.

Pricing and the dividend plan table give 5 calls per minute, paid unlimited calls, a 100-RPS ceiling, and plan access. No request limit appears anywhere under /docs/; the four values are only reachable in one knowledge-base article that also states "While we do not have a specific rate limit" alongside the 5-per-minute free-tier cap and the 100-requests-per-second ceiling, while plan-specific data access lives separately on each endpoint page as "Included in all Stocks plans". The free-tier limit of 5 API calls/minute and paid plans labelled 'Unlimited API Calls' are present only in the pricing page's client-side JavaScript. There is no dedicated rate-limits page in the docs. No 'recommended ceiling' (e.g. requests/second beyond which performance degrades) is documented anywhere. Plan-specific data access (2y/5y/10y/20+ years history, which data types are included) is available on the pricing page.

Recover from a 429

FAIL

FAIL consensus from 3 FAIL.

The docs recommend staying below 100 requests per second, but give no exact throttle trigger or retry timing. The only error condition documented in the REST path is the authorization error; no page under /docs/ mentions HTTP 429, a Retry-After header, retry timing, or backoff, so recovery from REST throttling cannot be derived from the documentation. The official documentation never mentions HTTP 429 by status code, never describes the trigger condition, never specifies retry timing or a Retry-After header, and does not offer a documented safe correction strategy. The Python client README generically warns of 'rate limit errors' and the REST Quickstart mentions that client libraries handle 'retry logic' but gives no concrete guidance. An agent recovering from a 429 would have to guess timing and strategy.

Authenticate a WebSocket connection

PASS

PASS consensus from 3 PASS.

The /docs/websocket/stocks fetch failed as JavaScript-rendered, but the quickstart documents connection, authentication, confirmation, and subscription. One page carries the whole path: the wss://socket.massive.com/stocks endpoint, the connected status frame, the {"action":"auth","params":"YOUR_API_KEY"} message, the auth_success confirmation, and a working subscribe example. The WebSocket Quickstart documents the full path: two connection URLs (delayed wss://delayed.massive.com/stocks, real-time wss://socket.massive.com/stocks), the auth message to send the API key, the successful-auth response containing 'status':'auth_success' and 'message':'authenticated', and the subscription message format {'action':'subscribe','params':'AM.AAPL,AM.MSFT'}. The server-to-client connection-handshake message is also shown.

Use the Python client

PARTIAL

PARTIAL consensus from 3 PARTIAL.

The current example matches REST, but package names conflict and another dividend example uses the deprecated method. The Python sample on the Dividends page calls list_stocks_dividends with the same limit and sort parameters as the shell example and matches the current /stocks/v1/dividends endpoint, but no page under /docs/ gives the install command, which is only on the linked GitHub repository as "pip install -U massive". The Python client README clearly documents pip installation, import, and client creation with an API key. However, the README's code examples only show list_aggs, get_last_trade, list_trades, get_last_quote, and list_quotes, not list_dividends or any dividend-retrieval method. The REST API uses GET /stocks/v1/dividends, and the Python client does expose list_dividends() (on DividendsClient), but the README does not demonstrate it, so an agent following only the README would not discover the dividend path.

The receipt

Our free tier subscriptions come with a limit of 5 API requests per minute.

No request limit appears anywhere under /docs/; the four values are only reachable in one knowledge-base article that also states "While we do not have a specific rate limit" alongside the 5-per-minute free-tier cap and the 100-requests-per-second ceiling, while plan-specific data access lives separately on each endpoint page as "Included in all Stocks plans".

Agent surface notes

Initialize returned an MCP Bearer OAuth challenge with valid resource metadata.

The live docs expose standard search but no public assistant control.

Show the score

AI Agent Readiness Score 71.2%, grade C-

Paste this into a readme:

[![AI Agent Readiness Score 71.2%](https://docsforagents.com/badge/massive.svg)](https://docsforagents.com/reports/massive-docs-ai-agent-readiness/)

Method note

This is a reading test of public documentation, not an execution test. No accounts were created and no API calls were run. The AI Agent Readiness Score counts fifteen reading votes at PASS 2, PARTIAL 1, and FAIL 0, for 30 possible points. Five agent surface checks add 10 points each. The total is 80. Consensus chips show each row majority and do not affect scoring. The panel split on 2 of five tasks. Quotes shown here were re-fetched and confirmed verbatim on 2026-08-20.

Read the full methodology

Put another docs site through the battery.

Nominate a docs site