USD to EUR Exchange Rate

Live mid-market USD/EUR rate for Italy. Updated every 60 seconds. Access via our free API.

USD to EUR Converter

USD
▼
0.00
EUR
▼
Loading rate...
Mid-market rate

Exchange Rate Trend

EUR → EUR
Loading chart data...

→ USD to EUR Conversion Table

Convert USD to EUR

USD EUR
1 --
5 --
10 --
25 --
50 --
100 --
500 --
1,000 --
5,000 --
10,000 --

Convert EUR to USD

EUR USD
1 --
5 --
10 --
25 --
50 --
100 --
500 --
1,000 --
5,000 --
10,000 --

USD to EUR Exchange Rate API

The rate in the converter above comes from the AllRatesToday API. Your app can call the same endpoint: mid-market USD/EUR, refreshed every 60 seconds, with no spread added. Get a free key (no card).

Get the live USD/EUR rate

curl "https://allratestoday.com/api/v1/rates?source=USD&target=EUR" \
  -H "Authorization: Bearer art_live_your_key"

Response (the rate shown is today's live value):

[
  {
    "rate": …,
    "source": "USD",
    "target": "EUR",
    "time": "<ISO timestamp>"
  }
]

Convert an amount

Add amount and the API does the multiplication:

curl "https://allratestoday.com/api/v1/rates?source=USD&target=EUR&amount=1000" \
  -H "Authorization: Bearer art_live_your_key"
{
  "from": { "currency": "USD", "amount": 1000 },
  "to": { "currency": "EUR", "amount": … },
  "rate": …,
  "source": "mid-market"
}

JavaScript and Python

import { AllRatesToday } from "@allratestoday/sdk";
const api = new AllRatesToday({ apiKey: process.env.ALLRATES_API_KEY });

const [q] = await api.rates({ source: "USD", target: "EUR" });
console.log(`1 USD = ${q.rate} EUR at ${q.time}`);
import requests

r = requests.get(
    "https://allratestoday.com/api/v1/rates",
    params={"source": "USD", "target": "EUR"},
    headers={"Authorization": "Bearer art_live_your_key"},
)
rate = r.json()[0]["rate"]
print(f"1000 USD = {1000 * rate:,.2f} EUR")

Several targets fit in one call (target=EUR,GBP,JPY), which is the cheapest way to price a list in many currencies. SDKs also exist for PHP, Go and Rust.

Historical USD/EUR rates

curl "https://allratestoday.com/api/historical-rates?source=USD&target=EUR&period=30d" \
  -H "Authorization: Bearer art_live_your_key"

Returns a daily series for 1d, 7d, 30d or 1y. History is part of the paid plans; a 1y request counts as 12 calls.

Official European Central Bank rate, no key

For invoices, tax and audit, the published central bank rate is usually what the rules ask for. The latest table needs no key, as long as a visible "Exchange rates by AllRatesToday" link is shown (terms):

curl "https://allratestoday.com/api/open/central-bank/ecb?source=USD&target=EUR"

Full reference: API documentation, including errors, quotas and CSV/XLSX output.

Official EUR Central Bank Rates

The rates above are live mid-market rates. For tax filings, customs valuations, audits, and compliant invoicing you often need the official reference rate published by European Central Bank instead. AllRatesToday also serves European Central Bank published rates as JSON, with history and a free latest-rates tier.

European Central Bank official rates → All central banks →

Tips for Integrating USD/EUR Rates

Here are best practices for using the AllRatesToday exchange rate API in your application:

  • Cache responses locally: Rates update every 60 seconds. Cache the response and refresh on a timer to stay within your request quota and reduce latency.
  • Use an SDK: Official packages for JavaScript, Python, PHP, Go and Rust handle authentication and parsing.
  • Display the timestamp: Always show the rate timestamp from the API response so users know how fresh the data is.
  • Handle errors gracefully: If the API is temporarily unavailable, fall back to the last cached rate and display a notice to users.
  • Batch currency requests: Request multiple target currencies in a single call (e.g. target=USD,GBP,EUR) to reduce API usage.
  • Use the history endpoint for charts: /api/historical-rates (paid plans) returns 1d, 7d, 30d and 1y daily series for trend charts.

Understanding Mid-Market Rates

The mid-market rate is the midpoint between the buy and sell prices of two currencies on the global markets. It represents the fairest exchange rate available, with no markup applied.

For example, if the mid-market rate is 1 USD = 100 EUR, a financial service might offer 1 USD = 97 EUR, keeping the 3% difference as their margin.

The AllRatesToday API returns the mid-market rate with no markup, so your application can show the fair rate and, if it needs to, add its own margin openly on top.

API Features

The AllRatesToday exchange rate API provides the following endpoints and capabilities:

  • Live Rates: GET /api/v1/rates?source=USD&target=EUR returns the current mid-market rate, updated every 60 seconds.
  • Multi-Currency: Request multiple targets in one call (e.g. target=EUR,USD,GBP) to minimize API requests.
  • Historical Data (paid plans): GET /api/historical-rates?source=USD&target=EUR&period=7d returns a daily series for 1d, 7d, 30d or 1y.
  • Currency Conversion: Pass an amount parameter to get the converted value directly, saving you from doing the math client-side.

All endpoints return JSON responses with rate, timestamp, source, and target fields. Authentication is via an API key passed in the Authorization header.

Frequently Asked Questions

How do I get USD/EUR rates in my app?

Sign up for a free API key at allratestoday.com/register, then call GET /api/v1/rates?source=USD&target=EUR. The response returns the mid-market rate with a timestamp. SDKs for JavaScript, Python, PHP, Go and Rust are available. Examples are in the API section above.

How often are USD/EUR rates updated?

Rates are refreshed every 60 seconds. Each API response includes a timestamp field so your application knows exactly when the rate was last updated. You can poll the endpoint on a timer or use the timestamp to decide when to refresh.

What data source do you use for exchange rates?

The API returns the mid-market rate, the midpoint between buy and sell prices, with no spread added. Official rates from central banks and tax authorities are served separately and name the institution and publication date.

Is the exchange rate API free?

A free key needs no credit card and is enough to evaluate the API and build a prototype. Paid plans add monthly quotas and historical data. Sign up at allratestoday.com/register to get started.

Do you have SDKs for the API?

Yes: JavaScript/TypeScript (npm), Python (PyPI), PHP (Packagist), Go and Rust (crates.io), plus a React localizer component and an MCP server for AI agents. Pass your API key and call the rates method.

Can I get historical USD/EUR rates?

Yes, on paid plans: GET /api/historical-rates with source, target and period. Supported periods are 1d, 7d, 30d and 1y (a 1y request counts as 12 calls). The response is a daily series, ideal for charts and trend analysis.