# currencyapi > currencyapi provides real-time and historical foreign exchange rates for fiat, precious metal and crypto currencies over a simple JSON REST API. Authenticate every request with your API key via the `apikey` query parameter or request header. Base URL: https://api.currencyapi.com ## Documentation - [Introduction](https://currencyapi.com/docs): Learn everything there is to know about the currencyapi API and integrate currencyapi into your product. - [Authentication](https://currencyapi.com/docs/authentication): In this guide, we’ll look at how authentication works. currencyapi offers two ways to authenticate your API requests: via GET parameter or alternatively via a HTTP header. - [Convert Exchange Rates](https://currencyapi.com/docs/convert): On this page, we’ll dive into the historical exchange rates endpoint you can use to retrieve historical exchange rates for a specific date. Data are available all the way back to 1999. - [Currencies Endpoint](https://currencyapi.com/docs/currencies): On this page, we’ll dive into the currencies endpoint that provides you with a list of all provided currencies, programmatically. - [Currency List](https://currencyapi.com/docs/currency-list): The list of all currencies that are suppored by the currencyapi API. - [Historical Exchange Rates](https://currencyapi.com/docs/historical): On this page, we’ll dive into the historical exchange rates endpoint you can use to retrieve historical exchangen rates for a specific date. Data are availabnle all the way back to 1999. - [Latest Exchange Rates](https://currencyapi.com/docs/latest): On this page, we’ll dive into the latest exchange rates endpoint you can use to retrieve the latest currency exchange rate data for any given base currency, programmatically. - [MCP Server](https://currencyapi.com/docs/mcp): Connect AI agents to the currencyapi API through our hosted MCP (Model Context Protocol) server. - [Quickstart](https://currencyapi.com/docs/quickstart): This guide will get you all set up and ready to use the currencyapi API. We’ll cover how to get started an API client and how to make your first API request. - [Range Historical Exchange Rates](https://currencyapi.com/docs/range): On this page, we’ll dive into the range historical exchange rates endpoint you can use to retrieve historical exchange rates for a given time range. Data are availabnle all the way back to 1999. - [Rate Limit & Quotas](https://currencyapi.com/docs/rate-limit): In this guide, we will look at how many open connections you can have with the currencyapi API. - [SDKs](https://currencyapi.com/docs/sdks): currencyapi offers fine-tuned JavaScript, Ruby, PHP, Python, and Go libraries to make your life easier and give you the best experience when consuming the API. - [Status Endpoint](https://currencyapi.com/docs/status): On this page, we’ll dive into the API status endpoint you can use to retrieve information about your request quota programmatically. - [Request Status Codes](https://currencyapi.com/docs/status-codes): In this guide, we will talk about what happens when something goes wrong while you work with the API. - [Testing](https://currencyapi.com/docs/testing): On this page, we’ll dive into testing the different API responses. ## Tutorials - [Building a Currency Converter in C#](https://currencyapi.com/docs/examples/csharp-currency-converter) - [Building a Currency Converter in JavaScript](https://currencyapi.com/docs/examples/currency-converter-javascript) - [Building a Currency Converter in Vue.js](https://currencyapi.com/docs/examples/currency-converter-vuejs) - [Building a Currency Converter in Go](https://currencyapi.com/docs/examples/go-currency-converter) - [Building a Currency Converter in Java](https://currencyapi.com/docs/examples/java-currency-converter) - [Building a Currency Converter in Python](https://currencyapi.com/docs/examples/python-currency-converter) - [Building a Currency Converter in Ruby](https://currencyapi.com/docs/examples/ruby-currency-converter) ## API Reference - [OpenAPI 3.1 specification](https://currencyapi.com/docs/openapi.yaml): Machine-readable spec for every API endpoint, parameters and responses. - [Full documentation as markdown](https://currencyapi.com/docs/llms-full.txt): All documentation pages concatenated as plain markdown. ## Optional - [Pricing & plans](https://currencyapi.com/#pricing)