ECB Euro Area Money Supply Growth, M1, M2 and M3, Monthly
ecb/money-supply-growth
The annual growth rate of the euro area money supply from the European Central Bank: M1 (narrow), M2 (intermediate) or M3 (broad), monthly since 1981, working day and seasonally adjusted, in percent change on the same month a year earlier. Return the latest months, or the months up to a year and month you give. The newest month is provisional and about seven weeks behind. Returns the ECB's SDMX-JSON response unchanged; the month of each observation is in the response's time axis. It is the ECB's published rate, not the ratio of two outstanding amounts, which differs. Source: European Central Bank (ECB), Balance sheet items (BSI), reused under the ECB's disclaimer and copyright notice; Eden Engine is not an official ECB product and the ECB is not responsible for it. This data may be obtained free of charge through the ECB Data Portal (https://data.ecb.europa.eu).
Price
$0.0026 per call
You pay the price shown. If a call turns out to cost more than its quote, you pay the actual price, capped at twice the quote. No monthly minimum. Top-ups start at $5.
Data source
Source: European Central Bank (ECB), Balance sheet items (BSI). Reused under the ECB's disclaimer and copyright notice, which permits free use with the ECB cited as the source. This data may be obtained free of charge through the ECB Data Portal (https://data.ecb.europa.eu). Served unchanged by Eden Engine; not an official ECB product, and the ECB is not responsible for it.
Use it
Five steps: search, inspect, learn, run, settle. No per-tool setup; your agent reaches this tool through the meta-tools it already has.
Connect once and your AI can find and run this tool, and any other it needs.
// 1. search: find the tool
omnial_search({ query: "what you need" })
// 2. inspect: price and input schema
omnial_inspect({ tool: "ecb/money-supply-growth" })
// 3. learn: read the usage guide at runtime
omnial_learn({ tool: "ecb/money-supply-growth" })
// 4. run: price the exact call first, then run it
omnial_execute({ tool: "ecb/money-supply-growth", input: { /* see input_schema */ }, dry_run: true })
omnial_execute({ tool: "ecb/money-supply-growth", input: { /* ... */ } })
// 5. settle: the call is charged when it finishes, nothing to doNot connected yet? Point your MCP client at https://mcp.eden-engine.com/mcp, then copy a config for your client.
Pricing
Every charge this tool can incur.
| Charge | Price |
|---|---|
Per call | $0.0026 |
- Updated
- Oct 20, 2026
Input and output schemas
Input schema
{
"type": "object",
"required": [
"aggregate"
],
"properties": {
"as_of": {
"type": "string",
"pattern": "^(?:198[1-9]|199[0-9]|20[0-9]{2})-(?:0[1-9]|1[0-2])$",
"description": "A year and month, YYYY-MM from 1981-01. The months returned end on or before it; a month after the latest available returns the latest. Omit for the latest months."
},
"last_n": {
"type": "integer",
"default": 1,
"maximum": 120,
"minimum": 1,
"description": "How many months to return, counting back from the latest (or from as_of). 1 (default) is the single latest month, which is provisional; 12 is a year; 120 is ten years."
},
"aggregate": {
"enum": [
"M10",
"M20",
"M30"
],
"type": "string",
"description": "Which monetary aggregate: M10 is M1 (narrow money), M20 is M2 (intermediate), M30 is M3 (broad money, the one usually quoted). The growth rate is percent change on the same month a year earlier, seasonally adjusted: 3.49 means 3.49%."
}
},
"additionalProperties": false
}Output schema
{
"type": "object",
"required": [
"header",
"dataSets",
"structure"
],
"properties": {
"header": {
"type": "object",
"description": "Response envelope: id, prepared (timestamp), and sender.id, which is ECB.",
"additionalProperties": true
},
"dataSets": {
"type": "array",
"items": {
"type": "object",
"required": [
"series"
],
"properties": {
"series": {
"type": "object",
"description": "The series, keyed by position string such as 0:0:0:0:0:0:0:0:0:0:0. Its observations map a time-axis position to [value, OBS_STATUS, OBS_CONF, OBS_PRE_BREAK, OBS_COM]: value is the growth rate in percent (a number, negative in a contraction); OBS_STATUS is a position into THIS response's structure.attributes.observation, which lists only the codes present (A normal value, P provisional value, the latest month), so a lone latest month shows position 0 for P.",
"additionalProperties": true
}
},
"additionalProperties": true
},
"description": "One data set. Its `series` object holds the single requested series: `attributes` (positions into structure.attributes.series, among them TITLE, UNIT PCCH percentage change, and DECIMALS) and `observations`."
},
"structure": {
"type": "object",
"description": "The legend that decodes dataSets: dimensions.series (code lists), dimensions.observation[0].values (the time axis, one entry per month returned, each with its `id`), attributes.series (TITLE, UNIT, DECIMALS ...) and attributes.observation (the status legend).",
"additionalProperties": true
}
},
"description": "The ECB's SDMX-JSON 1.0 response, unchanged. Each key in dataSets[0].series is a colon-joined list of positions into structure.dimensions.series (FREQ, REF_AREA, ADJUSTMENT, BS_REP_SECTOR, BS_ITEM, MATURITY_ORIG, DATA_TYPE, COUNT_AREA, BS_COUNT_SECTOR, CURRENCY_TRANS, BS_SUFFIX); each key in a series' observations is a position into structure.dimensions.observation[0].values, whose `id` is the month (YYYY-MM).",
"additionalProperties": true
}