By the fastCRW team · Catalogue figures checked 2026-11-05 against GET /v1/data · Verify independently before relying on any figure.
An economic data API for agents should answer with a number and the name of the agency that published it. Ask what German GDP was in 2025, what the euro was worth in dollars last week, or what US consumer prices did in September, and the answer should carry its own source. Pergamon, the public data catalogue behind fastCRW, puts several statistical agencies behind one API key and two MCP tools. This guide shows the calls we ran on 2026-11-05, the output they returned, and the licence line you keep with each figure.
Pick the agency that publishes the number
Economic series come from the body that compiles them. A cross-country GDP series, a national consumer price index, a euro exchange rate and a Canadian dollar series each come from a different publisher, with its own revisions, licence and citation request. Cite the agency that owns the number, not a site that repeated it.
The table lists eight statistical sources in the catalogue, what each one owns, and the licence line from its catalogue row, shortened and quoted.
| Source | What it owns | Licence line (quoted from the catalogue row) |
|---|---|---|
| World Bank Open Data | Country development indicators, such as GDP in current US$ | "licenses its datasets under Creative Commons Attribution 4.0 (CC BY 4.0)" |
| Eurostat | EU and member-state statistics, such as HICP inflation | "EU reuse policy under Commission Decision 2011/833/EU for statistical data" |
| European Central Bank | Euro reference exchange rates and policy rates | "the ECB must be cited as the source" |
| US Bureau of Labor Statistics | US labour and price series, such as the consumer price index | "asks that it be cited as the source" |
| OECD | Statistics for OECD member countries | "non-commercial and commercial purposes with attribution" |
| IMF Data | International Financial Statistics, Balance of Payments, World Economic Outlook | Cites the IMF's "Special Terms for Statistical Data"; the row marks commercial use as false |
| Bank of Canada Valet | Canadian interest and exchange rate series | "with attribution and an indication of any changes" |
| FRED (St. Louis Fed) | US economic series, client-run on your machine | "non-commercial, educational, and personal uses" |
The US Treasury's Fiscal Data is listed separately under Treasury and covers federal debt and cash records. Because every source shares one key and one response envelope, one agent run can put a US series next to a Canadian or euro one. For a full finance-agent build around this kind of data, see Build a finance research agent.
World Bank indicators
Ask the World Bank by country code and indicator code. NY.GDP.MKTP.CD is GDP in current US dollars. The mrv option means "most recent values", and it keeps the answer small.
curl "https://api.fastcrw.com/v1/data/worldbank/indicator?country=DE&indicator=NY.GDP.MKTP.CD&mrv=5" \
-H "Authorization: Bearer $CRW_API_KEY"
The World Bank sends its own two-part array: a paging header first, then the observations. Each observation carries date, value and the country and indicator names. In our run, the 2025 value for Germany was 5050922925047.05 and the 2024 value was 4685592577804.69, both in current US dollars. Keep the year next to the value. A GDP figure without its year is not something an agent can cite.
Trimmed to the fields that matter, the first observations looked like this:
{"indicator": {"value": "GDP (current US$)"}, "country": {"value": "Germany"}, "date": "2025", "value": 5050922925047.05}
{"indicator": {"value": "GDP (current US$)"}, "country": {"value": "Germany"}, "date": "2024", "value": 4685592577804.69}
The REST provenance block names the source and carries the licence with it. Our run returned this attribution line:
Source: World Bank Open Data (CC BY 4.0)
Eurostat datasets
Eurostat needs a dataset code and lastTimePeriod, the number of latest periods to return. Geography and classification filters are optional. This call asks for the monthly HICP annual rate of change for Germany, all items (CP00), over the last three months.
curl "https://api.fastcrw.com/v1/data/eurostat/dataset?dataset=prc_hicp_manr&lastTimePeriod=3&geo=DE&coicop=CP00" \
-H "Authorization: Bearer $CRW_API_KEY"
The response is a JSON-stat 2.0 document. The values sit in an object keyed by position, and the dimension block says what each position means. Read the dimension labels before you read a value. A bare number has no unit or period until you do.
ECB and BLS through the Python SDK
The ECB publishes euro reference rates, and the BLS publishes the US consumer price index under series IDs. The Python SDK returns the same provenance block in camelCase, so the attribution line is one lookup away. This snippet ran unchanged on 2026-11-05.
# pip install crw
from crw import CrwClient
client = CrwClient() # reads CRW_API_KEY
rate = client.get_data("ecb", "exchange-rate", {"freq": "D", "currency": "USD", "startPeriod": "2026-10-01"})
print(rate["provenance"]["attributionText"])
cpi = client.get_data("bls", "series", {"seriesId": "CUUR0000SA0"})
print(cpi["provenance"]["attributionText"])
Output from that run:
Source: ECB
Source: U.S. Bureau of Labor Statistics
Each of those calls cost one credit. The ECB rows come back as the ECB's own SDMX-JSON document, with the currency as one of the series keys. The BLS series ID CUUR0000SA0 is the all-items consumer price index for the US city average, not seasonally adjusted. In our run the newest observation was 336.940 for September 2026. BLS lists the newest month first, so read the first element of the data array. The next two were 334.980 for August and 333.918 for July.
Find the series before you call it
If you do not know the series ID, search the category first. Find calls are free and never billed.
curl "https://api.fastcrw.com/v1/data/find?category=Statistics&limit=5" \
-H "Authorization: Bearer $CRW_API_KEY"
Each item carries provider, capability, creditsCost and the option names the call needs. Our run of this query returned Australian Bureau of Statistics capabilities first, so filter by provider when you already know which agency you want. Find returns capabilities, not the numbers. The numbers come from the call.
From an agent
Through MCP the agent uses the same provider, capability and options, with the two data tools. Find narrows the list; get makes the call. The MCP setup is covered in MCP server for public data.
{"name": "crw_find_data", "arguments": {"category": "Statistics", "limit": 5}}
{"name": "crw_get_data", "arguments": {"provider": "bls", "capability": "series", "options": {"seriesId": "CUUR0000SA0"}}}
The hosted endpoint at https://fastcrw.com/mcp runs the server sources. A client-run source such as FRED needs the local install, covered below.
Eurostat, the OECD and the IMF: read the row
Statistical agencies do not share one licence. The Eurostat row says the data is "Not a named Creative Commons licence" and that CC BY 4.0 covers editorial content only. The OECD row permits "non-commercial and commercial purposes with attribution, excluding third-party material identified as such". The IMF row marks commercial use as false and points to its Special Terms for Statistical Data. The row also records that the IMF does not permit bulk download by automated technology, or use of its content to train large language models, without permission. Read those terms before you put IMF numbers into a paid product or a bulk job.
The rule for all of them is the same: keep the licence line that came with the response, and check the agency's own terms before you ship. The catalogue gives you the line. It does not give you legal advice.
FRED runs on your machine
FRED, the St. Louis Fed's database, is a client-run source. Its row limits use to "non-commercial, educational, and personal uses", and the catalogue does not mark commercial use either way. A client-run call runs in the local crw-mcp on your machine, with your own FRED key. The data never passes through fastCRW, and the call costs 0 credits.
npx -y crw-mcp install --api-key <your fastCRW API key>
npx -y crw-mcp connectors set-key fred
Request a free key from the FRED API key page, then run set-key. The key is stored locally and never passed on the command line. Hosted and local MCP both list the FRED capabilities, but only the local install can run them.
Other series in the same catalogue
treasury/debt-to-penny?sort=-record_date&limit=3returns the newest Debt to the Penny records first. Each record in the data array carries the total public debt outstanding field,tot_pub_debt_out_amt.bankofcanada/series?series=FXUSDCADreturns the Canadian dollar series with its series detail and terms in one response.
Keep the number and its source together
An agent that answers a macro question should keep four things from each call together: the value, its period, the upstream URL and the attribution line. The REST keys are upstream_url and attribution_text. The SDK returns upstreamUrl and attributionText, plus retrievedAt for freshness. Drop one of them and the answer can no longer show where the figure came from.
Limits
- Upstream agencies time out now and then. Our first ECB call on the day returned a 504 with the message that the ECB did not respond, and a retry succeeded. The failed call was not billed.
- Agencies revise past values. Store the retrieval time with each figure, and re-run the call before you quote a recent period.
- The same concept can carry different definitions at different agencies. Compare only series whose definitions match.
- An economic figure is an input to your analysis, not a forecast or investment advice.
Cost and failed calls
Find and the catalogue are free. Most server calls cost 1 credit, and each capability's creditsCost shows the price before you call. A failed call, such as an upstream timeout, is not billed. Client-run calls cost 0 credits. Plan prices are on the pricing page.
Sources
Related: Public data API for AI agents · Can you use public API data commercially? · Pergamon catalogue
