Request data or analysis
Tell us what you needed and did not find. Requests are read in a weekly review, merged with similar ones, and the most asked-for data that public sources allow is built first.
When to request
Send a request when a dataset, field, company or analysis you need is missing, or when an answer looks wrong. People use the form; agents use the API or the MCP server. Both reach the same queue, with the same limits.
Every empty, not covered and unknown company state in the terminal ends with a Request it link that fills in the form for you. The command palette lists Request data or analysis too.
Kinds
| Kind | Use it for |
|---|---|
dataset | A whole dataset we lack |
field | One line item or attribute |
analysis | A computation you had to do by hand |
coverage | A company, exchange or country we do not cover |
bug | A wrong or broken answer |
other | Anything else |
Use the form
The Request data or analysis form asks for the kind, what you need, why (optional) and a company (optional). Do not include personal data in the text.
You get a request id at once. Keep it to look up the status later.
Send one from the API
POST /v1/request-data takes kind and want, and optionally why, company and endpoint_or_tool. It needs no key and is never charged.
curl -X POST "https://api.financial.md/v1/request-data" -H "content-type: application/json" \
-d '{"kind":"dataset","want":"Segment operating margin by quarter","why":"Comparing business lines","company":"ticker:AAPL"}'The answer is 201 with the request id, the demand item it joined, its status and how many asked so far:
{
"data": {
"request_id": "0b8f6a52-6f0e-4a8e-9a43-3c0f6b2d1e11",
"item_id": "7c2e0d4b-31a9-4f57-9a3e-5d0b8c1f2a64",
"status": "new",
"requests": 3,
"requesters": 2,
"status_url": "https://api.financial.md/v1/request-data/0b8f6a52-6f0e-4a8e-9a43-3c0f6b2d1e11",
"served_by": null
},
"meta": { ... }
}Up to 10 requests per address per UTC day, 500 in all. Past either limit the answer is 429 with Retry-After (see rate_limited). GET /v1/request-data describes the body.
Send one from an agent
The MCP server has two tools for this: request_data sends a request with the same fields, and request_status looks one up by its id. Unmet answers from the API carry a remedy of kind request_data, so an agent is never stuck.
https://mcp.financial.md/mcpFollow its status
Similar requests merge into one demand item, keyed by kind, company and concept; a repeat request adds a vote. Look one up on the status page or with GET /v1/request-data/{id}:
curl "https://api.financial.md/v1/request-data/0b8f6a52-6f0e-4a8e-9a43-3c0f6b2d1e11"| Status | Meaning |
|---|---|
new | Received, not reviewed yet |
triaged | Reviewed and merged with similar requests |
planned | We intend to build it |
done | Built; served_by names the route or tool that serves it |
wontfix | We will not build it; the public note says why |
Requested and shipped
The Requested and shipped page lists the items a person on our side has reviewed and titled, with their counts and outcome. An item is never listed automatically. It shows aggregates only: no submitter, no submitted text. The same data is a JSON feed:
curl "https://api.financial.md/v1/requested"The changelog links to the board, and each shipped item names what serves it.
What we can build
We build from free public sources and our own derived analysis:
- SEC EDGAR filings and data sets (statements, ownership, events, funds)
- FRED and other public statistics
- Computations over the data we already serve (ratios, screens, comparisons)
Data that needs a licence or whose terms forbid reuse, such as consensus estimates, analyst ratings or real-time exchange feeds, is marked wontfix with a note that points to GET /v1/coverage. Later requests for it still count as votes, so we know what is wanted.
Privacy
A request asks for no personal data. The address you send from is kept only as a salted digest, to apply the limits.
The form does not ask for an email address at present: follow a request by its id. If a reply email is offered later, it is optional, sent only when you tick the box, kept apart from the request, used only to tell you when the request ships or closes, deleted when the request closes or after 365 days, and never shared. See Privacy.