Geoapify

Learn how to use Geoapify with Composio

Overview

SLUG: GEOAPIFY

Description

Geoapify offers a suite of APIs for integrating maps, geocoding, routing, and other location-based services into applications.

Authentication Details

generic_api_key
stringRequired

Connecting to Geoapify

Create an auth config

Use the dashboard to create an auth config for the Geoapify toolkit. This allows you to connect multiple Geoapify accounts to Composio for agents to use.

1

Select App

Navigate to Geoapify.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Geoapify Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4geoapify_auth_config_id = "ac_YOUR_GEOAPIFY_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Geoapify for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, geoapify_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Geoapify toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["GEOAPIFY"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Address Autocomplete

Description

Tool to fetch address suggestions based on partial input. Use when you need to get predictive suggestions from incomplete address text.

Action Parameters

bias
string
filter
string
format
string
lang
string
limit
integer
text
stringRequired
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Batch Requests

Description

Tool to create or retrieve batch jobs. Use when processing multiple API calls asynchronously in one operation.

Action Parameters

api
string
body
object
id
string
inputs
array
params
object

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get Administrative Boundaries

Description

Tool to retrieve administrative boundaries a location is part of. Use when you have either a place ID or coordinates and need GeoJSON boundaries. Returns a FeatureCollection.

Action Parameters

boundaries
stringDefaults to administrative
geometry
stringDefaults to point
id
string
lang
string
lat
number
lon
number

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Forward Geocoding

Description

Tool to convert an address into geographic coordinates. Use when you need latitude and longitude from an address.

Action Parameters

apiKey
stringRequired
bias
string
city
string
country
string
filter
string
format
stringDefaults to geojson
housenumber
string
lang
string
limit
integerDefaults to 5
name
string
postcode
string
state
string
street
string
text
string
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Geometry Operation

Description

Tool to perform geometric operations on stored polygon geometries. Use when combining or intersecting multiple stored geometries.

Action Parameters

id
arrayRequired
operation
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: IP Geolocation

Description

Tool to determine geographic location of an IP address. Use when you need to lookup location information by IP.

Action Parameters

ip
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Generate isoline (isochrone/isodistance)

Description

Tool to generate isochrone or isodistance isolines. Use when visualizing reachable areas from a point; use `id` to poll ongoing calculations.

Action Parameters

avoid
string
id
string
lat
number
lon
number
max_speed
integer
mode
string
range
integer
route_type
string
traffic
string
type
string
units
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Map Matching

Description

Tool to snap GPS traces to the road network and correct inaccuracies. Use when raw GPS points need alignment to roads.

Action Parameters

apiKey
stringRequired
mode
stringRequired
waypoints
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Fetch Geoapify Map Tiles

Description

Tool to fetch raster map tiles or style JSON from Geoapify. Use when rendering custom maps with specific styles.

Action Parameters

apiKey
stringRequired
mode
stringDefaults to tile
retina
boolean
style
stringRequired
x
integer
y
integer
z
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Marker Icon

Description

Tool to create custom map marker icons. Use when you need a tailored marker after defining map annotations.

Action Parameters

color
string
contentColor
string
contentSize
integer
icon
string
iconType
string
noShadow
boolean
noWhiteCircle
boolean
shadowColor
string
size
integer
strokeColor
string
text
string
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Place Details

Description

Tool to retrieve detailed information about a specific place. Use when you have a place ID or coordinates and need comprehensive metadata.

Action Parameters

features
string
id
string
lang
string
lat
number
lon
number

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Places Search

Description

Tool to search for points of interest within a specified area. Use when you need POIs matching categories after defining spatial filter or bias.

Action Parameters

bias
string
categories
arrayRequired
conditions
array
filter
string
lang
string
limit
integer
name
string
offset
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Postcode Search

Description

Tool to retrieve postcode information for a location. Use when you need to fetch postcode details based on a given postcode or geographic coordinates.

Action Parameters

countrycode
string
format
string
geometry
string
lang
string
lat
number
lon
number
postcode
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Reverse Geocoding

Description

Tool to reverse geocode coordinates into a structured address. Use when converting lat/lon to human-readable addresses.

Action Parameters

format
stringDefaults to geojson
lang
string
lat
numberRequired
limit
integer
lon
numberRequired
type
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Route Matrix

Description

Tool to compute travel time and distance matrices. Use when you need durations and distances between multiple origin and destination pairs.

Action Parameters

apiKey
stringRequired
avoid
array
max_speed
number
mode
string
sources
array
targets
array
traffic
string
type
string
units
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Route Planner

Description

Tool to optimize multi-agent routes and schedules. Use after defining agents and jobs/shipments.

Action Parameters

agents
array
avoid
array
jobs
array
locations
array
max_speed
number
mode
string
shipments
array
traffic
string
type
string
units
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Routing

Description

Tool to calculate routes between multiple waypoints. Use when you need both distance, time, and turn-by-turn directions for two or more coordinates.

Action Parameters

avoid
string
details
string
format
stringDefaults to geojson
lang
string
max_speed
integer
mode
stringDefaults to drive
traffic
stringDefaults to free_flow
type
stringDefaults to balanced
units
stringDefaults to metric
waypoints
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired