{"uid":"cap_bG0YuNo-iv4x5gfgR8QsM","slug":"2s-fx-timeseries-historical-currency-exchange-rates-50162927","name":"2s FX Timeseries — Historical Currency Exchange Rates","description":"Historical daily exchange-rate series from the European Central Bank (via Frankfurter), with computed summary statistics. Pass base = 3-letter ISO 4217 currency (default USD), start = YYYY-MM-DD, optional end = YYYY-MM-DD (default = latest available), optional symbols = comma-separated target codes (default all), optional amount to scale rates (default 1). Range is capped at 366 days. Returns, per target currency, first/last/min/max/mean rate plus absolute and percentage change over the window, alongside the full daily series. ECB publishes on business days only; weekends and holidays are omitted.","url":"https://2s.io/api/fx/timeseries","method":"GET","headers":{},"bodySchema":{"type":"object","$schema":"https://json-schema.org/draft/2020-12/schema","required":["input"],"properties":{"input":{"type":"object","required":["type","method","queryParams"],"properties":{"type":{"const":"http"},"method":{"const":"GET"},"queryParams":{"required":["start"],"properties":{"end":{"type":"string","description":"Inclusive end date YYYY-MM-DD; default latest."},"base":{"type":"string","description":"3-letter ISO 4217 code (default USD)."},"start":{"type":"string","description":"Inclusive start date YYYY-MM-DD."},"amount":{"type":"number","description":"Amount of base currency to scale rates; default 1."},"symbols":{"type":"string","description":"Comma-separated target codes; default all."}}}}}}},"responseSchema":null,"example":{"request":{"input":{"type":"http","method":"GET","queryParams":{"end":"2025-03-31","base":"USD","start":"2025-01-01","symbols":"EUR,GBP"}}},"response":{"data":{"ok":true,"meta":{"end":"2025-03-31","base":"USD","start":"2024-12-31","amount":1,"series":{"2024-12-31":{"EUR":0.96256,"GBP":0.79813},"2025-01-02":{"EUR":0.9689,"GBP":0.80533},"2025-01-03":{"EUR":0.97097,"GBP":0.80584},"2025-01-06":{"EUR":0.95914,"GBP":0.79703},"2025-01-07":{"EUR":0.96219,"GBP":0.7978},"2025-01-08":{"EUR":0.9722,"GBP":0.81084},"2025-01-09":{"EUR":0.9704,"GBP":0.81328},"2025-01-10":{"EUR":0.9705,"GBP":0.81224},"2025-01-13":{"EUR":0.98058,"GBP":0.82526},"2025-01-14":{"EUR":0.97609,"GBP":0.82272},"2025-01-15":{"EUR":0.97087,"GBP":0.81857},"2025-01-16":{"EUR":0.97352,"GBP":0.82027},"2025-01-17":{"EUR":0.97106,"GBP":0.82009},"2025-01-20":{"EUR":0.96937,"GBP":0.81997},"2025-01-21":{"EUR":0.96553,"GBP":0.81639},"2025-01-22":{"EUR":0.95758,"GBP":0.80883},"2025-01-23":{"EUR":0.96117,"GBP":0.81188},"2025-01-24":{"EUR":0.95493,"GBP":0.80608},"2025-01-27":{"EUR":0.94967,"GBP":0.79873},"2025-01-28":{"EUR":0.9596,"GBP":0.8048},"2025-01-29":{"EUR":0.96191,"GBP":0.80534},"2025-01-30":{"EUR":0.96126,"GBP":0.80443},"2025-01-31":{"EUR":0.96219,"GBP":0.80446},"2025-02-03":{"EUR":0.97333,"GBP":0.80919},"2025-02-04":{"EUR":0.96759,"GBP":0.80492},"2025-02-05":{"EUR":0.95951,"GBP":0.79721},"2025-02-06":{"EUR":0.96525,"GBP":0.8078},"2025-02-07":{"EUR":0.96367,"GBP":0.80325},"2025-02-10":{"EUR":0.96899,"GBP":0.80701},"2025-02-11":{"EUR":0.96862,"GBP":0.80739},"2025-02-12":{"EUR":0.96432,"GBP":0.80365},"2025-02-13":{"EUR":0.96246,"GBP":0.80186},"2025-02-14":{"EUR":0.95438,"GBP":0.79419},"2025-02-17":{"EUR":0.95484,"GBP":0.79378},"2025-02-18":{"EUR":0.95721,"GBP":0.79473},"2025-02-19":{"EUR":0.95841,"GBP":0.79392},"2025-02-20":{"EUR":0.95758,"GBP":0.7931},"2025-02-21":{"EUR":0.95557,"GBP":0.79083},"2025-02-24":{"EUR":0.95547,"GBP":0.79142},"2025-02-25":{"EUR":0.95265,"GBP":0.78983},"2025-02-26":{"EUR":0.95356,"GBP":0.7902},"2025-02-27":{"EUR":0.95447,"GBP":0.78909},"2025-02-28":{"EUR":0.96052,"GBP":0.79347},"2025-03-03":{"EUR":0.95557,"GBP":0.78863},"2025-03-04":{"EUR":0.94724,"GBP":0.7842},"2025-03-05":{"EUR":0.9351,"GBP":0.78081},"2025-03-06":{"EUR":0.92627,"GBP":0.77612},"2025-03-07":{"EUR":0.92106,"GBP":0.7745},"2025-03-10":{"EUR":0.92208,"GBP":0.77316},"2025-03-11":{"EUR":0.91642,"GBP":0.77322},"2025-03-12":{"EUR":0.91861,"GBP":0.77235},"2025-03-13":{"EUR":0.92336,"GBP":0.77357},"2025-03-14":{"EUR":0.91836,"GBP":0.7731},"2025-03-17":{"EUR":0.91718,"GBP":0.77067},"2025-03-18":{"EUR":0.91592,"GBP":0.77096},"2025-03-19":{"EUR":0.91768,"GBP":0.77157},"2025-03-20":{"EUR":0.92311,"GBP":0.77255},"2025-03-21":{"EUR":0.92362,"GBP":0.77367},"2025-03-24":{"EUR":0.92387,"GBP":0.77294},"2025-03-25":{"EUR":0.92379,"GBP":0.77196},"2025-03-26":{"EUR":0.92696,"GBP":0.77515},"2025-03-27":{"EUR":0.92721,"GBP":0.77254},"2025-03-28":{"EUR":0.92618,"GBP":0.77205},"2025-03-31":{"EUR":0.92464,"GBP":0.77241}},"observations":64},"items":[{"max":0.98058,"min":0.91592,"last":0.92464,"mean":0.950857,"count":64,"first":0.96256,"change":-0.03792,"currency":"EUR","pctChange":-3.9395},{"max":0.82526,"min":0.77067,"last":0.77241,"mean":0.794551,"count":64,"first":0.79813,"change":-0.02572,"currency":"GBP","pctChange":-3.2225}],"total":2,"source":{"url":"https://frankfurter.dev/","license":"ECB reference rates — free for public use with attribution.","provider":"Frankfurter — daily reference rates from the European Central Bank"}},"meta":{"cost":{"usd":0.00144,"tier":0},"caller":"x402","version":null,"endpoint":"fx.timeseries","settlement":{"txHash":"0x09c2f622ee250986e3bc7c8b1345c2d9481feb2a1d8d0f000eb3c2316eab6548","network":"eip155:8453","success":true}}}},"exampleRequest":{"end":"2025-03-31","base":"USD","start":"2025-01-01","symbols":"EUR,GBP"},"tags":["x402"],"displayCostAmount":"0.00144","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"settled","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.00144/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0036","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.0036","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_ZzbJyO0HHrvFS1HRtG8Bg","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.0036","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Returns a time series of daily foreign exchange rates (with summary stats) for one or more currency pairs over a specified date range, sourced from ECB reference rates.","exampleAgentPrompt":"Can you pull the daily USD to EUR and USD to GBP exchange rates from January 1 2025 through March 31 2025, and give me a summary showing the min, max, mean, and overall percent change for each currency over that period?","exampleUseCases":null,"resultDescription":"A JSON object containing: a daily series map of date → {currency: rate}, and an items array per currency with summary stats (min, max, mean, first, last, change, pctChange, count), plus metadata (base, start, end, amount, observations) and source attribution (Frankfurter/ECB). All rates are ECB official daily reference rates.","failureModes":["Missing required 'start' date parameter returns an error","Invalid ISO 4217 currency codes return no data or error","Future date ranges return empty or partial data","Non-trading days (weekends/holidays) have no observations, reducing count","Unsupported base currency may produce no results"],"whenToPreferThis":"Use this endpoint when you need historical daily FX rate data over a date range with statistical summaries (min/max/mean/change), especially for ECB reference rates. Prefer this over spot-rate endpoints when trend analysis, range statistics, or multi-day series are needed. Ideal for financial reporting, currency risk assessment, accounting reconciliation, and macroeconomic research using authoritative ECB data. Pay-per-call with no API key required makes it convenient for one-off or automated agent queries.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-09-14T12:52:00.929Z","isFirstParty":false}