All integrations

Geoapify

DATA · DATA & ANALYTICS

Forward, reverse and autocomplete geocoding, place search, and boundaries on their key.

Acts as the person, not as itself

Each user connects their own account. Every call carries both identities — the agent and the person it is acting for — so the agent can never reach past what that individual can already do.

Credentials never touch the agent

Tokens live in the vault and attach server-side at call time. The agent holds a session, not a secret, and revoking access does not mean rotating a key.

Every call on the record

Who asked, which agent acted, which action ran, and the verdict that let it through — one audit trail across every integration, not one per vendor.

What an agent can do

Each action is granted on its own. An agent allowed to read is not thereby allowed to write, and the scope beside each row is what the acting user must have connected for it to run at all.

geoapify_get_batchREAD

Retrieves the processing status or completed results for a generic batch job. - Provide the 32-character batch job `id` returned by the submit operation. - Poll while the endpoint returns `202`; the results are ready when it returns `200`. via GET https://api.geoapify.com/v1/batch

api
geoapify_get_batch_geocode_reverseREAD

Retrieves the status or normalized results of a reverse geocoding batch. - Provide the `id` returned when the batch was submitted. - Use `format=json` for structured results or `format=csv` for a downloadable table. Returns `202` while processing or `200` when results are ready. via GET https://api.geoapify.com/v1/batch/geocode/reverse

api
geoapify_get_batch_geocode_searchREAD

Retrieve batch geocode search status or normalized results. via GET https://api.geoapify.com/v1/batch/geocode/search

api
geoapify_get_boundaries_consists_ofREAD

Find child boundaries contained by the place identified by `id`. Use `boundary` to select the boundary type, `sublevel` to control the nested administrative depth, and `geometry` to choose representative points or simplified polygons. via GET https://api.geoapify.com/v1/boundaries/consists-of

api
geoapify_get_boundaries_part_ofREAD

Find boundaries that contain one place. Use one lookup method: a Geoapify `id` (recommended), a `lat` and `lon` pair, or an `osm_id` and `osm_type` pair. Do not combine lookup methods. Use `boundaries` to restrict the returned boundary types and `geometry` to choose representative points or simplified boundary polygons. **Example:** The preset `id` represents South Carolina, United States, and `geometry=point` returns a representative point for each containing boundary. via GET https://api.geoapify.com/v1/boundaries/part-of

api
geoapify_get_geocode_autocompleteREAD

Returns address and place suggestions for partial text. - `text` is required and may contain a partial address or place name. - `filter` restricts results; `bias` influences ranking without excluding matches. - Use `limit` to control the number of returned suggestions. **Example:** `text=Orle` via GET https://api.geoapify.com/v1/geocode/autocomplete

api
geoapify_get_geocode_reverseREAD

Finds the nearest address or place for geographic coordinates. - Provide both `lat` and `lon`. - Use `type` to request a specific location type. - Use `limit` to control the number of returned results. **Example:** `lat=42.365344&lon=-71.052655` via GET https://api.geoapify.com/v1/geocode/reverse

api
geoapify_get_geocode_searchREAD

Use one input mode: `text` for a free-form address, or one or more structured address parameters (`name`, `housenumber`, `street`, `postcode`, `city`, `state`, `country`). Do not combine `text` with structured address parameters. via GET https://api.geoapify.com/v1/geocode/search

api
geoapify_get_geometryREAD

Combines two or more previously generated or stored geometries and returns a new GeoJSON FeatureCollection. - Repeat the `id` query parameter for every input geometry; at least two IDs are required. - Use `operation=union` to merge all covered areas, or `operation=intersection` to return only their common area. - Input IDs can come from APIs that return reusable geometry or isoline IDs, or from `POST /geometry`. - The default `format=geojson` response includes a new `properties.id` that can be reused in later Geometry API calls. - `topojson` returns TopoJSON and `geobuf` returns a binary Geobuf payload. **Example:** union two 600-second drive isolines near Philadelphia, Pennsylvania. via GET https://api.geoapify.com/v1/geometry

api
geoapify_get_ipinfoREAD

Returns an approximate geographic location and regional metadata for an IP address. - Provide `ip` to look up a specific IPv4 or IPv6 address. - Omit `ip` to use the client address detected by the API. - Use `lang` to select the preferred result language. via GET https://api.geoapify.com/v1/ipinfo

api
geoapify_get_isolineREAD

Calculates the area reachable from an origin within one or more travel-time or travel-distance limits. - To calculate an isoline, provide `lat`, `lon`, `type`, `mode`, and one or more `range` values. - With `type=time`, each range is travel time in seconds. With `type=distance`, ranges use meters for `units=metric` or miles for `units=imperial`. - Up to 10 ranges can be requested; the GeoJSON response contains one Polygon or MultiPolygon feature per range. - `transit` and `approximated_transit` support time-based isolines only. - Alternatively, provide only `id` to retrieve a previously generated isoline. - The default `format=geojson` response is a GeoJSON FeatureCollection. `topojson` and `geobuf` are available for clients that support those formats. **Example:** `lat=36.9743711&lon=-76.4166222&type=time&mode=drive&range=900` via GET https://api.geoapify.com/v1/isoline

api
geoapify_get_place_detailsREAD

Retrieve information and geometry for one place. Use one lookup method: a Geoapify `id` (recommended), a `lat` and `lon` pair, or an `osm_id` and `osm_type` pair. Do not combine lookup methods. The `features` parameter controls whether the response contains the primary place details, building information, radius areas, or walking and driving isolines. When omitted, `features` defaults to `details`. **Example:** The preset `id` retrieves details and the original polygon geometry for Renton Stadium in Renton, Washington. via GET https://api.geoapify.com/v2/place-details

api
geoapify_get_place_infoREAD

Get place information via GET https://api.geoapify.com/v2/place-info

api
geoapify_get_placesREAD

Find places and points of interest matching one or more categories. Provide at least one spatial control: `filter` limits which places can be returned, while `bias` changes their ranking without excluding results. You can use both together. **Example:** `categories=commercial&filter=circle:-89.9324386707035,35.143833853955485,1000&bias=proximity:-89.9324386707035,35.143833853955485&limit=20` searches for commercial places within 1,000 meters of a point in Memphis, Tennessee, and ranks the nearest results first. via GET https://api.geoapify.com/v2/places

api
geoapify_get_postcode_listREAD

Lists postcode features using optional text, spatial, and country constraints. - `filter` restricts which results are returned. - `bias` influences result order without excluding matches. - Use `limit` and `offset` to paginate results. - Use `geometry=point` for point representations or `geometry=original` for source geometry. via GET https://api.geoapify.com/v1/postcode/list

api
geoapify_get_postcode_searchREAD

Searches for postcode features by postcode text or geographic coordinates. - Provide `postcode`, or provide both `lat` and `lon`. - Do not combine `postcode` with coordinate search. - Use `geometry=point` for a point representation or `geometry=original` for source geometry. **Example:** `postcode=10117` via GET https://api.geoapify.com/v1/postcode/search

api
geoapify_get_routingREAD

Calculates a route through two or more ordered waypoints. - Provide each waypoint as `latitude,longitude`; separate waypoints with `|`. - `waypoints` and `mode` are required. The example uses passenger-car routing (`mode=drive`). - The default `geojson` response contains route geometry, distance, travel time, legs, steps, and turn-by-turn instructions. - Use `format=json` for a plain JSON result or `format=xml` for XML. **Example:** `waypoints=43.424923,-123.298537|43.261954,-123.350676|43.120223,-123.398972&mode=drive` via GET https://api.geoapify.com/v1/routing

api
geoapify_get_styles_by_style_style_jsonREAD

Returns a MapLibre style document ready for a compatible renderer. - References Geoapify map sources, sprites, and glyphs. - Uses the selected `style`. **Example:** `/styles/osm-bright/style.json` **Specification:** [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/) via GET https://maps.geoapify.com/v1/styles/{style}/style.json

api
geoapify_post_batchWRITE

Creates a job that processes up to 1000 requests for one supported Geoapify API endpoint. - Use batch processing to send multiple requests together or to execute a task asynchronously. - Put shared query parameters in top-level `params` and shared request data in top-level `body`; input-level values define each individual request. - Every input must contain `params`, `body`, or both. Body-based APIs do not require an empty `params` object. - Set `priority` from `0.5` to `1`. A value of `0.5` spends 50% of the normal credits but can take longer; `1` spends the full credits and is processed faster. Returns `202` while the job is processing or `200` if it completes immediately. via POST https://api.geoapify.com/v1/batch

api
geoapify_post_batch_geocode_reverseWRITE

Submits up to 1000 coordinates for asynchronous reverse geocoding. - Use `[lon, lat]` arrays or `{ "lon": ..., "lat": ... }` objects. - Coordinates in arrays are longitude first, then latitude. - One result is requested for each input coordinate. Returns `202` while processing or `200` when the batch completes immediately. via POST https://api.geoapify.com/v1/batch/geocode/reverse

api
geoapify_post_batch_geocode_searchWRITE

Submit up to 1000 free-text addresses for asynchronous geocoding. One result is requested per input address. via POST https://api.geoapify.com/v1/batch/geocode/search

api
geoapify_post_geodata_elevationWRITE

Returns terrain elevation for 1–1,000 geographic locations while preserving their input order. - Send locations as `[longitude, latitude]` arrays (recommended) or objects with numeric `lat` and `lon` fields. - `format=json` returns a `results` array. `format=geojson` returns one GeoJSON Point feature per input location. - `units=metric` returns elevation in meters (`m`); `units=imperial` returns rounded feet (`ft`). - Set `includeDistance=true` to include the distance from the previous location. The first result has distance `0`. - Elevation or distance can be `null` when the underlying terrain service has no value. **Example:** four locations northeast of San Antonio, Texas, requested as JSON with metric units. via POST https://api.geoapify.com/v1/geodata/elevation

api
geoapify_post_geometryWRITE

Stores a GeoJSON geometry and returns an ID for later Geometry API operations. - Send a GeoJSON FeatureCollection, Feature, or geometry object in the request body. - Keep the returned `id` and pass it as one of the repeated `id` parameters in `GET /geometry`. - Use the GET operation with at least two IDs to calculate a union or intersection. via POST https://api.geoapify.com/v1/geometry

api
geoapify_post_geometry_operationWRITE

Runs one of 42 spatial operations on GeoJSON geometries and returns a consistent `{type, data}` result. - Set `operation` and provide its named input fields, such as `polygons`, `points`, `geometry`, `point`, `line`, or `bbox`. - Do not send the legacy `inputs` array. The operation examples show the required field combination for common tasks. - GeoJSON coordinates use `[longitude, latitude]` order. - Put operation-specific options in `params`, including units, tolerance, clustering settings, or transformation options. - Set operations accept 2–100 polygons; point operations accept up to 1,000 points; multi-geometry operations accept up to 100 geometries. - The response `type` is `geojson`, `number`, `boolean`, or `empty`; `data` contains the corresponding result or `null`. **Examples:** choose a request example to calculate an intersection, predicate, measurement, buffer, bounding box, center, simplification, or point-on-line result. via POST https://api.geoapify.com/v1/geometry/operation

api
geoapify_post_mapmatchingWRITE

Snaps an ordered GPS trace to a plausible route on the routable road network. - Send `mode` and 1–1,000 `waypoints` in a JSON body. - Each waypoint `location` uses GeoJSON coordinate order: `[longitude, latitude]`. - Optional timestamps help calculate effective speed and reject implausible measurements. - Optional bearings describe recorded travel direction in degrees clockwise from north. - Waypoint order is preserved; points may be matched, unmatched, interpolated, or merged. - The response is a GeoJSON `FeatureCollection` with `MultiLineString` route geometry, matched waypoint metadata, legs, and road-level steps. **Example:** a 35-point timestamped GPS trace matched with `mode=drive`. via POST https://api.geoapify.com/v1/mapmatching

api
geoapify_post_routematrixWRITE

Calculates travel distances and times from every source to every target. - Send a JSON body with `mode`, `sources`, and `targets`. - Each `location` uses GeoJSON coordinate order: `[longitude, latitude]`. - `sources_to_targets[i][j]` describes the route from `sources[i]` to `targets[j]`. - Repeat the same locations in `sources` and `targets` to calculate a square all-to-all matrix. - A regular API call supports up to 1,000 matrix cells (`sources.length × targets.length`). - `distance` or `time` can be `null` when no route is available for a source-target pair. **Example:** a 3 × 3 passenger-car matrix with `mode=drive`. via POST https://api.geoapify.com/v1/routematrix

api
geoapify_post_routeplannerWRITE

Optimizes jobs and pickup-delivery shipments across one or more agents. - Send `mode`, `agents`, and at least one non-empty `jobs` or `shipments` array in a JSON body. - Coordinates use GeoJSON order: `[longitude, latitude]`; reusable entries in `locations` can be referenced by index. - Agent capabilities must satisfy task requirements; capacities, priorities, durations, time windows, and breaks constrain assignment and order. - A regular API call supports up to 300 unique coordinates across locations, agents, jobs, and shipments. - Each returned GeoJSON feature is one agent plan with actions, waypoints, route legs, timing, distance, and `MultiLineString` geometry. - Unassigned agents, jobs, or shipments are reported in `properties.issues` when the complete task cannot be assigned. **Example:** optimize 73 pickup-delivery shipments across three passenger-car agents with `mode=drive`. via POST https://api.geoapify.com/v1/routeplanner

api

Put Geoapify behind one governed endpoint.

Same permissions, same audit trail, whatever else you connect next.