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.
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- Category
- Payments & business data
- 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.
71.2% · 57/80 · AI Agent Readiness Score · reading 30 pts · surface 50 pts
Agent surface checks · 40/50
The Reading Test
| Task | GPT 5.6 Sol | Opus 5 | DeepSeek v4F | Consensus |
|---|---|---|---|---|
| Make the first market-data request | PARTIAL | PARTIAL | PASS | PARTIAL |
| Find the exact limits | PASS | PARTIAL | PARTIAL | PARTIAL |
| Recover from a 429 | FAIL | FAIL | FAIL | FAIL |
| Authenticate a WebSocket connection | PASS | PASS | PASS | PASS |
| Use the Python client | PARTIAL | PARTIAL | PARTIAL | 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 +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
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.
- 3
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
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
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.
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
PARTIALPARTIAL 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
PARTIALPARTIAL 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
FAILFAIL 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
PASSPASS 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
PARTIALPARTIAL 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
Paste this into a readme:
[](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.
Put another docs site through the battery.
Nominate a docs site