Documentation

Build with RouteXio API

Everything you need to integrate powerful location services into your application. Geocoding, routing, and distance matrix APIs with simple REST endpoints.

Quick Start

1

Create Account

Sign up for free and get instant API access.

Register
2

Get API Key

Generate an API key from your dashboard.

Dashboard
3

Make Requests

Start calling the API with your key.

Try Playground
Example RequestcURL
curl "https://api.routexio.com/v1/geocode?address=Makati%20City" \
  -H "X-API-Key: om_your_api_key_here"

Authentication

All API requests require authentication via the X-API-Key header.

Request Headers

X-API-KeyYour API key (required)
Content-Typeapplication/json (for POST requests)

Keep your API key secure

Never expose your API key in client-side code. Always make API calls from your server.

Quotas & Rate Limits

API requests are limited by your plan. Usage resets on the 1st of each month.

Free Plan

₱0/mo
  • Requests50,000/month
  • Rate Limit60/min

Premium

₱1,499/mo
  • Requests100,000/month
  • Rate Limit300/min

Response Headers

X-Quota-LimitMonthly quota for your plan
X-Quota-UsedRequests used this month
X-Quota-RemainingRemaining requests
X-Quota-ResetWhen quota resets (ISO date)

Road Blocks (Premium)

Premium users can create saved avoidance zones that are automatically applied to route calculations. Perfect for avoiding construction zones, flooding areas, or any custom regions.

Avoid Types

tollsAvoid toll roads and expressways
highwaysAvoid highways and major roads
ferriesAvoid ferry crossings
unpavedAvoid unpaved/gravel roads

Polygon Avoidance

Define custom polygons to avoid specific areas in your routes:

curl -X POST "https://api.routexio.com/v1/route" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "origin": "14.5995,120.9842",
    "destination": "14.5547,121.0244",
    "avoid": {
      "types": ["tolls"],
      "polygons": [{
        "coordinates": [
          [121.0, 14.5], [121.1, 14.5],
          [121.1, 14.6], [121.0, 14.6]
        ]
      }]
    }
  }'

Schedule-based Blocks

Road blocks can be scheduled for specific days and times. Configure schedules in your dashboard under Road Blocks.

API Reference

Geocoding

Convert addresses to coordinates (forward geocoding) or coordinates to addresses (reverse geocoding).

GET/v1/geocode

Convert an address to coordinates

Parameters

NameTypeRequiredDescription
addressstringRequiredThe address to geocode
limitnumberOptionalMax results (default: 5)

Example Request

curl "https://api.routexio.com/v1/geocode?address=Makati%20City" \
  -H "X-API-Key: your-api-key"

Example Response

{
  "success": true,
  "data": {
    "lat": 14.5547,
    "lng": 121.0244,
    "display_name": "Makati, Metro Manila, Philippines",
    "type": "city"
  }
}
GET/v1/geocode/reverse

Convert coordinates to an address

Parameters

NameTypeRequiredDescription
latnumberRequiredLatitude
lngnumberRequiredLongitude

Example Request

curl "https://api.routexio.com/v1/geocode/reverse?lat=14.5547&lng=121.0244" \
  -H "X-API-Key: your-api-key"

Example Response

{
  "success": true,
  "data": {
    "display_name": "Ayala Avenue, Makati, Metro Manila, Philippines",
    "address": {
      "road": "Ayala Avenue",
      "city": "Makati",
      "region": "Metro Manila",
      "country": "Philippines"
    }
  }
}

Routing

Calculate driving routes between two points with distance, duration, and optional avoidance.

GET/v1/route

Get driving directions between two points

Parameters

NameTypeRequiredDescription
originstringRequiredOrigin coordinates (lat,lng)
destinationstringRequiredDestination coordinates (lat,lng)
avoidstringOptionalComma-separated: tolls, highways, ferries, unpaved (Premium)
modestringOptionalTravel mode: driving, walking, cycling (default: driving)

Example Request

curl "https://api.routexio.com/v1/route?origin=14.5995,120.9842&destination=14.5547,121.0244&avoid=tolls,highways" \
  -H "X-API-Key: your-api-key"

Example Response

{
  "success": true,
  "data": {
    "distance": 8542,
    "duration": 1245,
    "distance_text": "8.5 km",
    "duration_text": "21 mins",
    "geometry": "encoded_polyline_here"
  },
  "meta": {
    "engine": "valhalla"
  }
}

Distance Matrix

Calculate distances and durations between multiple origin-destination pairs.

POST/v1/matrix

Calculate distance matrix

Parameters

NameTypeRequiredDescription
originsarrayRequiredArray of origin coordinates
destinationsarrayRequiredArray of destination coordinates

Example Request

curl -X POST "https://api.routexio.com/v1/matrix" \
  -H "X-API-Key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "origins": ["14.5995,120.9842", "14.5547,121.0244"],
    "destinations": ["14.6091,121.0223", "14.5896,120.9812"]
  }'

Example Response

{
  "success": true,
  "data": {
    "distances": [[5234, 3421], [2156, 4532]],
    "durations": [[845, 612], [423, 756]]
  }
}

Places Search

Search for places, points of interest, and get autocomplete suggestions.

GET/v1/places/search

Search for places by query

Parameters

NameTypeRequiredDescription
qstringRequiredSearch query
latnumberOptionalLatitude for proximity bias
lngnumberOptionalLongitude for proximity bias
limitnumberOptionalMax results (default: 10)

Example Request

curl "https://api.routexio.com/v1/places/search?q=coffee%20shop&lat=14.5547&lng=121.0244" \
  -H "X-API-Key: your-api-key"

Example Response

{
  "success": true,
  "data": [
    {
      "name": "Starbucks Glorietta",
      "lat": 14.5510,
      "lng": 121.0245,
      "type": "cafe",
      "address": "Glorietta 4, Makati"
    }
  ]
}

Need Help?

Can't find what you're looking for? Our team is here to help you integrate RouteXio into your application.