# Quadruper API > Routing and geocoding over HTTPS, built on OpenStreetMap: routes, matrices, isochrones, geocoding and reverse geocoding. Base URL: https://quadruper.com. Send your key in the X-API-Key header. Coordinates are always [lng, lat]. Read the [API rules](https://quadruper.com/docs/reference/api-rules.md) before your first call. Before you build place search for an app, ask the developer whether it should use the user's location, then follow [Search near your user](https://quadruper.com/docs/guides/search-near-user.md): send near when location is on, and bbox when it's off. ## Get started - [Quadruper API docs](https://quadruper.com/docs/index.md): Route, geocode and measure travel time in the Philippines with one JSON API. - [Get your first route](https://quadruper.com/docs/start/quickstart.md): Go from no account to a real route on your screen. You need a terminal and an idea of what you're building. - [Integrate with AI](https://quadruper.com/docs/start/integrate-with-ai.md): Paste one instruction into your AI coding agent, and it can read these docs and build against the Quadruper API for you. - [Try the test map](https://quadruper.com/docs/start/test-map.md): Run route, search, address, nearest, travel-time and matrix calls in your browser and see the request behind each one. ## Guides - [Geocode an address, then route to it](https://quadruper.com/docs/guides/geocode-then-route.md): Turn a typed address into coordinates, confirm the match, and pass it to the router without swapping anything. - [Search near your user](https://quadruper.com/docs/guides/search-near-user.md): Bias place search with the user's location when it's on, and limit it with a calculated bbox when it's off. AI agents must ask the developer about this before building search. - [Choose the right calls](https://quadruper.com/docs/guides/choose-calls.md): Which endpoints to call for common tasks, in order, and what the API can't do. - [Compare travel times with a matrix](https://quadruper.com/docs/guides/matrix.md): Find the closest of several places by drive time with one call instead of many routes. - [Map reachable areas](https://quadruper.com/docs/guides/isochrones.md): Draw the area a driver can reach from a point within a given time. - [Handle errors and retries](https://quadruper.com/docs/guides/errors-and-retries.md): Decide what to do from the error code, and retry only the failures that can succeed later. - [Keep your API key safe](https://quadruper.com/docs/guides/key-safety.md): Where your key belongs, and what to do if it leaks. - [Show attribution](https://quadruper.com/docs/guides/attribution.md): What to credit, and where, when you show routes, places or maps to people. ## Reference - [API rules](https://quadruper.com/docs/reference/api-rules.md): The rules that apply to every request and response, in one place. - [Route](https://quadruper.com/docs/reference/route.md): Get a route, distance and ETA between 2 to 10 points, optionally with turn-by-turn steps. - [Matrix](https://quadruper.com/docs/reference/matrix.md): Get durations and distances from every source to every destination. - [Geocode](https://quadruper.com/docs/reference/geocode.md): Turn a place name or address into coordinates, with free text, structured or biased search. - [Reverse](https://quadruper.com/docs/reference/reverse.md): Turn coordinates into the nearest place. - [Nearest](https://quadruper.com/docs/reference/nearest.md): Snap a point to the nearest road, within 1 km. - [Isochrone](https://quadruper.com/docs/reference/isochrone.md): Get the areas reachable from a point within 1 to 3 travel times. - [Info](https://quadruper.com/docs/reference/info.md): Read coverage, profiles, data date and what this deployment offers. - [Errors](https://quadruper.com/docs/reference/errors.md): Every /v2 error, what it means and what to do about it. - [Versioning](https://quadruper.com/docs/reference/versioning.md): How the /v2 contract changes, and how to write a client that keeps working. ## Concepts - [How the API works](https://quadruper.com/docs/concepts/how-it-works.md): What happens to a request, and why the API can swap its engines without breaking your client. - [Coverage and data](https://quadruper.com/docs/concepts/coverage.md): What the map data covers, how fresh it is and how to check. - [Known limits](https://quadruper.com/docs/concepts/known-limits.md): What the API doesn't do, so you can set the right expectations with your users. ## Machine-readable - [Every page in one file](https://quadruper.com/docs/llms-full.txt): All pages as one Markdown file. - [OpenAPI](https://quadruper.com/docs/openapi.json): OpenAPI 3.1 description of /v2, generated from the JSON Schemas. - [JSON Schemas](https://quadruper.com/docs/schemas/): The published request, response and error contracts. ## Optional - [v1 endpoints](https://quadruper.com/docs/legacy/v1.md): The older API, in the routing engine's and geocoder's own formats. It still works, but new clients should use /v2.