MCP vs REST for financial research
Ask company questions through MCP, or use REST for a script. Start with a free account and use the same underlying financial data across both.
For researching a company with an AI agent, start with MCP: ask a question and let the client call the available financial-data tools. Use REST when you are writing a script or application that needs explicit requests. Both use the same underlying data and share your free account allowance.
Jump to a section
Choose how you want to run the research
In an agent session, you can ask a question, inspect the plan and let the client call available tools. In an application, you may want the same explicit requests on every run, controlled error handling and a stored record of the inputs. MCP and REST support these different interaction patterns.
| Requirement | MCP workflow | REST workflow |
|---|---|---|
| An exploratory company question | The agent discovers tools and selects calls | You select endpoints and parameters in code |
| A scheduled application task | Requires a client or agent runtime that you operate | Fits a script or job with explicit requests |
| Reproducibility | Save actual tool calls, parameters, inputs and calculations | Save requests, parameters, inputs and calculations |
| Account usage | Shares the account’s successful-request allowance | Shares the same allowance with MCP and the dashboard |
An interface does not add data coverage
Our two interfaces use the underlying financial data service. Changing the protocol does not fill a missing reporting year, enable current prices or improve an issuer’s KPI coverage. Inspect the available tool schemas or API reference and check the required data before making a research promise.
A natural-language answer can also include model reasoning beyond the retrieved records. Keep that reasoning distinct from observed values. For a repeatable margin calculation, retain revenue, operating income, period, currency, source and the formula, regardless of which interface retrieved them.
Start with a small verified request
For MCP, follow the client setup guide. The hosted server uses Streamable HTTP and an account API key in an authorization header. Your client must support that connection format. For REST, use the API reference and its actual parameter schemas.
- Create an account key and store it in private client configuration.
- Resolve one supported company and inspect coverage.
- Retrieve one annual statement, preserving its source and period.
- Verify one number against its filing before expanding the workflow.
Do not put a real key in a shared prompt, public example, URL or committed configuration. Website sign-in credentials and data API keys have different roles.
Plan for usage and unavailable data
The current free testing allowance is 300 successful data requests per account per UTC day, shared across interfaces and keys, with up to five active keys. One question can trigger multiple data calls. MCP connection and tool discovery do not consume that data allowance.
An application still needs a sensible response to exhausted allowance, a failed source or an empty result. An agent should likewise report those conditions instead of substituting an unverified answer. Review freshness checks when deciding whether a returned observation is suitable for the task.
Run the same bounded task through either interface
get_income_statements(ticker="ASML", period="annual", limit=5)
curl --fail-with-body 'https://api.eurofindata.com/v1/financials/income-statements?ticker=ASML&period=annual&limit=5' \ -H "Authorization: Bearer $EUROFINDATA_API_KEY"
MCP statement records currently use period_end; REST exposes report_period in its named response array. Normalize those fields deliberately if one analysis handles both. Compare the actual returned values, periods and sources; do not assume byte-identical response shapes.
The Python example handles the sample and REST shapes explicitly and preserves missing values.