# Mapricot > Mapricot is a location API for developers: geocoding, places, routing, and IP geolocation on open data, with free map tiles. The first 250,000 requests every 30 days are free, then $0.10 per 1,000. The REST API is at https://api.mapricot.com, described in OpenAPI 3.1 at https://api.mapricot.com/openapi.json. AI agents connect to the remote MCP server at https://api.mapricot.com/mcp, signing in with OAuth. ## Docs - [Getting started](https://mapricot.com/docs/getting-started/): Sign up, create an API key, and make your first Mapricot API request in a few minutes, with 250,000 free requests and no credit card. - [API keys](https://mapricot.com/docs/api-keys/): Server and browser keys, allowed origins, caps, rotating, and revoking. - [API reference](https://mapricot.com/docs/api-reference/): Authentication, endpoints, parameters, errors, billing, and limits, with the OpenAPI description. - [Attribution](https://mapricot.com/docs/attribution/): The minimum credit the data licenses require, and when you don't need any. - [MCP server](https://mapricot.com/docs/mcp/): Connect Claude, ChatGPT, Cursor, and other agents with a URL. - [Geocoding](https://mapricot.com/docs/geocoding/): Addresses to coordinates with search and autocomplete, and back again with reverse. - [Places](https://mapricot.com/docs/places/): Nearby search by category, and lookup by Mapricot ID. - [Routing](https://mapricot.com/docs/routing/): Driving, cycling, and walking routes through up to 20 stops with turn-by-turn directions, the fastest order to visit them, isochrones, and how to draw them. - [IP geolocation](https://mapricot.com/docs/ip-geolocation/): The approximate country, region, and city of an IPv4 or IPv6 address. - [Map tiles](https://mapricot.com/docs/map-tiles/): Free vector map tiles to show with MapLibre GL JS, with a free key. - [C#](https://mapricot.com/docs/csharp/): Every Mapricot API from C# with HttpClient and System.Text.Json, and no NuGet packages. - [Go](https://mapricot.com/docs/go/): Every Mapricot API from Go with the typed mapricot-go module. - [Java](https://mapricot.com/docs/java/): Every Mapricot API from Java with the built-in HttpClient and Jackson. - [JavaScript](https://mapricot.com/docs/javascript/): Every Mapricot API from a web page, with a browser key. - [Kotlin](https://mapricot.com/docs/kotlin/): Every Mapricot API from Kotlin on Android, and a MapLibre map. - [Node.js](https://mapricot.com/docs/node/): Every Mapricot API from Node.js with the typed mapricot package. - [PHP](https://mapricot.com/docs/php/): Every Mapricot API from PHP with the mapricot/mapricot Composer package. - [Python](https://mapricot.com/docs/python/): Every Mapricot API from Python with the mapricot package, including a whole CSV file of addresses. - [Ruby](https://mapricot.com/docs/ruby/): Every Mapricot API from Ruby with the mapricot-api gem. - [Rust](https://mapricot.com/docs/rust/): Every Mapricot API from Rust with reqwest and serde_json. - [Swift](https://mapricot.com/docs/swift/): Every Mapricot API from Swift with URLSession, and a MapLibre map for iOS. ## Guides - [Google Maps API pricing](https://mapricot.com/guides/google-maps-api-pricing/): What each Google Maps Platform API costs, how the free monthly allowances and volume discounts work, and what three typical apps pay. - [Google Maps API free tier](https://mapricot.com/guides/google-maps-api-free-tier/): How much of each Google Maps Platform API is free every month, why you still need a billing account, and how to make sure you're never charged. - [Google Places API pricing](https://mapricot.com/guides/google-places-api-pricing/): How the Places API (New) charges by endpoint and by the fields you ask for, what each tier costs, and how autocomplete sessions are billed. - [Mapbox vs Google Maps](https://mapricot.com/guides/mapbox-vs-google-maps/): How Mapbox and Google Maps Platform compare on maps, geocoding, search, routing, free allowances, and price, with two monthly bills worked out. - [Leaflet vs OpenLayers vs MapLibre](https://mapricot.com/guides/leaflet-vs-openlayers-vs-maplibre/): How the three open-source web map libraries differ in rendering, size, vector tile support, and what each is best at, with the same map in each. - [OpenStreetMap API](https://mapricot.com/guides/openstreetmap-api/): Which OpenStreetMap service does what, from the editing API to Overpass, Nominatim, Valhalla, and the tile server, the limits each public server sets, and Mapricot as a hosted option. - [MapLibre markers and popups](https://mapricot.com/guides/maplibre-markers/): Show places from an API on a MapLibre GL JS map, as markers for a few points or a layer for many, with labels, popups, and a "search this area" button. - [MapLibre clustering](https://mapricot.com/guides/maplibre-clusters/): Group hundreds of points into clusters with counts that split apart as you zoom in, or show them as a heatmap, with MapLibre GL JS and places from an API. - [MapLibre routes](https://mapricot.com/guides/maplibre-route/): Get a route from a routing API and draw it on a MapLibre GL JS map as a line, with stops people can drag, a travel mode, and the distance in miles. - [Polyline decoder](https://mapricot.com/guides/polyline-decoder/): Decode a route's polyline online, or in JavaScript and Python. - [MapLibre search box](https://mapricot.com/guides/maplibre-search/): Add an address and place search box with suggestions as you type to a MapLibre GL JS map, with MapLibre GL Geocoder. - [MapLibre React](https://mapricot.com/guides/maplibre-react/): How to show a MapLibre map in a React app with react-map-gl, add markers and popups, and draw a route, with free tiles and no Mapbox token. - [MapLibre React Native](https://mapricot.com/guides/maplibre-react-native/): How to add a MapLibre map to a React Native or Expo app, with free vector tiles, tappable markers, and a route line, and no Mapbox token. - [Leaflet geocoding and routing](https://mapricot.com/guides/leaflet-geocoding-routing/): A search box with address autocomplete, and routes, on a Leaflet map. - [React Leaflet](https://mapricot.com/guides/react-leaflet-vector-tiles/): How to show free vector map tiles in a React Leaflet map with the MapLibre GL Leaflet plugin, then add markers, popups, and a route. - [Custom map styles](https://mapricot.com/guides/maplibre-custom-style/): Recolor Mapricot's map styles, hide what you don't need, or build a style of your own on the same free tiles. - [Mapbox GL JS to MapLibre](https://mapricot.com/guides/mapbox-to-maplibre/): How to move a web map from Mapbox GL JS to MapLibre GL JS, drop the Mapbox token, replace mapbox:// styles, and swap the geocoder. - [Address autocomplete](https://mapricot.com/guides/address-autocomplete/): An address field that suggests addresses as people type and fills in the city, state, and postal code, in plain JavaScript. - [Parsing addresses with libpostal](https://mapricot.com/guides/libpostal/): Split addresses from any country into house number, street, city, and postcode, and normalize them for matching, with libpostal in Python or as a small web service. - [Google Sheets and Excel](https://mapricot.com/guides/google-sheets-geocoding/): Geocode a column of addresses with Apps Script in Sheets or Power Query in Excel. - [Batch geocoding](https://mapricot.com/guides/batch-geocoding/): Geocode a CSV file of addresses with one short Python script. - [Self-hosting Nominatim](https://mapricot.com/guides/self-host-nominatim/): Run your own Nominatim with Docker to get past the public server's one-request-a-second limit, what a country or the whole planet needs, and when a hosted geocoder is simpler. - [Self-hosting map tiles](https://mapricot.com/guides/self-host-map-tiles/): Serve your own vector map tiles from one PMTiles file on static storage, with pmtiles serve, or with TileServer GL, and draw them with MapLibre. ## Optional - [Pricing](https://mapricot.com/pricing/): Free allowance, price per request, and credits - [MCP server](https://mapricot.com/features/mcp/): The MCP server for Claude, ChatGPT, Cursor, and other agents - [About](https://mapricot.com/about/): Who Mapricot is for, what it costs, and where its data comes from