{"uid":"cap__yFNjYp0IFBJTq0fvybEQ","slug":"netintel-currency-exchange-history-af201453","name":"NetIntel Currency Exchange History","description":"Daily historical exchange-rate series for any currency pair — fiat via ECB reference data, crypto via Coinbase daily closes — with min/max/average/change stats, no API key. Pass start/end dates or a days lookback (default 30). The history sibling of /currency-exchange/convert: trend and repricing context for the pairs agents already quote spot.","url":"https://netintel.dev/currency-exchange/history","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method"],"properties":{"type":{"type":"string","const":"http"},"method":{"enum":["GET"],"type":"string"},"queryParams":{"type":"object","required":["from","to"],"properties":{"to":{"type":"string","description":"One target code, e.g. EUR or BTC. Aliases: target, quote"},"end":{"type":"string","description":"Range end, YYYY-MM-DD; default today. Alias: to_date"},"days":{"type":"number","description":"Alternative to start/end: lookback window ending today; default 30. Alias: period"},"from":{"type":"string","description":"Base currency: ISO 4217 fiat code or crypto ticker, e.g. USD or BTC. Aliases: base, source"},"start":{"type":"string","description":"Range start, YYYY-MM-DD. Alias: from_date. Caps: ECB fiat 366d, other fiat 90d, crypto 300d"}}}},"additionalProperties":false},"output":{"type":"object","required":["type"],"properties":{"type":{"type":"string"},"example":{"type":"object","properties":{"to":{"type":"string"},"end":{"type":"string"},"from":{"type":"string"},"stale":{"type":"boolean"},"start":{"type":"string"},"stats":{"type":"object","properties":{"max":{"type":"number"},"min":{"type":"number"},"average":{"type":"number"},"change_pct":{"type":"number","description":"first→last point, %"},"volatility_pct":{"type":"number","description":"stdev of daily % changes"}}},"series":{"type":"array","items":{"type":"object","properties":{"date":{"type":"string"},"rate":{"type":"number","description":"units of `to` per 1 `from` on that date"}}}},"source":{"type":"string","description":"frankfurter | ecb-xml | currency-api | coinbase"},"findings":{"type":"array"},"point_count":{"type":"number"},"cache_age_seconds":{"type":"number"}}}}}}},"responseSchema":{"type":"json","example":{"to":"EUR","end":"2026-08-01","from":"USD","stale":false,"start":"2026-07-26","stats":{"max":0.87974,"min":0.8707,"average":0.87626,"change_pct":-0.94,"volatility_pct":0.34},"series":[{"date":"2026-07-24","rate":0.87897},{"date":"2026-07-27","rate":0.87804},{"date":"2026-07-28","rate":0.87974},{"date":"2026-07-29","rate":0.87873},{"date":"2026-07-30","rate":0.87138},{"date":"2026-07-31","rate":0.8707}],"source":"frankfurter","findings":[{"rule":"non_trading_days_omitted","detail":"ECB publishes business days only — weekends and holidays have no reference rate and are omitted, never interpolated"}],"point_count":6,"cache_age_seconds":0}},"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.02","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.02/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.02","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_KumT2_TxVhkaKW5d5fCXX","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.02","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a daily historical exchange-rate series for any fiat or crypto currency pair, with min/max/average/change/volatility stats, over a configurable date range.","exampleAgentPrompt":"Pull the daily USD to EUR exchange rate history for the last 60 days and give me the min, max, average, and how much the rate changed over the period.","exampleUseCases":[{"title":"Crypto repricing trend analysis","prompt":"Show me the daily BTC to USD exchange rates for the past 90 days — I want to see the min, max, average, and total percentage change so I can understand the recent price trend."},{"title":"Invoice currency risk check","prompt":"What was the daily GBP to USD exchange rate from January 1st to March 31st this year? I need the average rate and how much it moved so I can assess currency risk on a UK invoice."},{"title":"Fiat pair volatility monitoring","prompt":"Get the last 30 days of daily closing rates for USD to JPY and tell me the volatility percentage and overall change so I can see if the yen has been stable lately."}],"resultDescription":"Returns a JSON object containing the currency pair (from/to), date range (start/end), a series array of {date, rate} objects with one entry per calendar day data was available, aggregate stats (min, max, average, change_pct, volatility_pct), the data source used (frankfurter, ecb-xml, currency-api, or coinbase), point count, cache age in seconds, and a stale flag. The rate field represents units of the target currency per 1 unit of the base currency on each date.","failureModes":["Missing required 'from' or 'to' query parameters returns a 400 error","Unsupported or misspelled currency code returns an error or empty series","Date range exceeding caps (ECB fiat 366d, other fiat 90d, crypto 300d) may return truncated data or an error","Future end dates return data only up to the latest available close","Weekend/holiday gaps in fiat ECB data may reduce point count below expected days","Stale flag set to true if cached data is older than expected refresh cycle"],"whenToPreferThis":"Choose this endpoint when you need historical daily exchange rate data over a date range — for trend analysis, repricing context, volatility assessment, or min/max/average stats — rather than a single spot conversion. It covers both fiat pairs (via ECB reference rates) and crypto pairs (via Coinbase daily closes) with no API key required. Prefer the sibling /currency-exchange/convert endpoint for a single current spot rate.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:56:48.137Z","isFirstParty":false}