GET /
Returns the machine-readable documentation this page is rendered from. Free, and everything an agent needs.
byAPI3PremiumAirnode v0.2.0
The European Central Bank's statistical data: euro foreign exchange reference rates, policy and market interest rates, yield curves, monetary aggregates, bank balance sheets, securities issuance and the rest of what the ECB and the national central banks publish. This Airnode wraps its data API, so a consumer receives what the ECB published with a signature saying this Airnode read it then.
A series is addressed by a dataflow and a key, and the key is positional: EXR and D.USD.EUR.SP00.A is the daily US dollar reference rate against the euro. A position left empty is a wildcard, so D..EUR.SP00.A is that rate against every currency, which is how a caller finds out what exists rather than guessing. The ECB Data Portal is where a dataflow's dimensions are documented, since the API describes them only in XML and this Airnode serves JSON.
The reference rates are the part worth knowing the timing of. They are a daily snapshot taken at 14:15 Central European Time and published shortly after, not a live market quote, so the same key read twice in one afternoon is the same number and the rate for a weekend does not exist.
Reuse terms. The ECB permits free reuse of the statistics it publishes, commercial reuse included, on condition that the source is acknowledged as "Source: ECB statistics." and that the statistics and their metadata are not modified. What this Airnode signs is what the API returned, unaltered. The permission does not extend to third party data carried in these dataflows, which needs the originating party's own permission, so a consumer redistributing a series has that to check first.
Every response carries an EIP-191 signature from the Airnode that served it, so the data can be attributed back to its source rather than trusted on reputation.
Ask the Hub what ECB Data Portal can tell you →Served at https://airnode-ecb.fly.dev/. Each operation is reached the way the provider documents it, under https://airnode-ecb.fly.dev/api, and answers with the provider's own response and the attestation in headers, so a client built against the provider works unchanged. The same operations are also served as one JSON envelope on POST /, which the HTTP interface covers. Every request below can be sent from this page, and what comes back is verified right here in the browser.
Returns the machine-readable documentation this page is rendered from. Free, and everything an agent needs.
The provider's own requests, one per operation, forwarded as they are. The provider's response comes back untouched, with the attestation in the X-Airnode headers.
One or more statistical series with their observations.
Answers SDMX-JSON, which separates the numbers from what they mean. dataSets carries the observations as arrays of positions, and structure is the legend: it says which dimension each position of a series key counts along and what each code means, so a value is read by looking its coordinates up rather than by reading a field name.
By default the observations sit under dataSets[0].series, keyed by the numeric position of each series and then of each observation within it. Passing AllDimensions for dimensionAtObservation moves them to dataSets[0].observations under one key carrying every coordinate at once, which is the shape worth asking for unless a caller is walking series.
The first entry of an observation array is the value. What follows are its attributes, whose meaning is in structure.attributes.observation, and OBS_STATUS is the one that says whether a figure is normal, estimated or provisional.
A key naming no series that exists is refused rather than answered empty, which is the useful behaviour: a wildcard that matches nothing and a currency that has been withdrawn look the same otherwise.
Paste a response to verify it originates from the current Airnode: the JSON a POST / answers with, or a passthrough response with its headers, as curl --include prints it.