Skip to main content
Tutorial

Economic Data API for Agents: World Bank, Eurostat, BLS

GDP, inflation, unemployment and exchange rates from the World Bank, Eurostat, ECB, BLS and more, through one key and two MCP tools, with sources cited.

fastcrw
By RecepNovember 10, 20269 min read

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.

SourceWhat it ownsLicence line (quoted from the catalogue row)
World Bank Open DataCountry development indicators, such as GDP in current US$"licenses its datasets under Creative Commons Attribution 4.0 (CC BY 4.0)"
EurostatEU and member-state statistics, such as HICP inflation"EU reuse policy under Commission Decision 2011/833/EU for statistical data"
European Central BankEuro reference exchange rates and policy rates"the ECB must be cited as the source"
US Bureau of Labor StatisticsUS labour and price series, such as the consumer price index"asks that it be cited as the source"
OECDStatistics for OECD member countries"non-commercial and commercial purposes with attribution"
IMF DataInternational Financial Statistics, Balance of Payments, World Economic OutlookCites the IMF's "Special Terms for Statistical Data"; the row marks commercial use as false
Bank of Canada ValetCanadian 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=3 returns 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=FXUSDCAD returns 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

FAQ

Frequently asked questions

Which economic series can an agent call through Pergamon today?
The Statistics and Finance categories cover the agencies in this guide. Run find with category Statistics or Finance to see the live list, because sources are added and switched off over time.
Do I need an account with each statistical agency?
Server sources need no key of your own. You call them with your fastCRW API key. FRED is the exception: it runs on your machine and uses your own free FRED key.
Can I use these numbers in a commercial product?
The catalogue does not answer that with one word. Each source has its own licence line, and the provenance block carries it with every response. Read that line and the agency's terms before you ship.

Get Started

Try fastCRW free

Run a live request in the playground — no signup required. Or grab a free API key with 500 credits, earn up to 500 more, no credit card.

Continue exploring

More tutorial posts

View category archive