DocsGetting Started

Getting Started

From sign-up to a working geocoding request in about 5 minutes. No SDK required - just a REST call with your API key.

PickPoint provides four APIs under a single key: Geocoding, Address Search, Routing, and Device Tracking. This guide walks through the basics - individual API guides go deeper.
1

Create your account

Start with a free account - no credit card required for the trial period.

Create your free account →

An activation email is sent immediately. Follow the link to confirm your address - check your spam folder if it doesn't arrive within a few minutes.

2

Get your API key

Every request is authenticated with a single HTTP header:

X-Api-Key: YOUR_KEY

Find your key in the API Keys section of your dashboard. You can also pass the key as a query parameter for quick testing:

?key=YOUR_KEY
Keep your key secure. Don't embed it in client-side JavaScript shipped to end users - it will be visible in the browser. Use environment variables on the server side, or implement a backend proxy for browser-based apps.

Advanced plans support multiple keys - for example, separate keys for development and production, or individual keys per customer.

3

Make your first geocoding request

Forward geocoding converts an address or place name to coordinates. Replace YOUR_KEY with your actual key:

curl "https://api.pickpoint.io/v2/geocode/forward?q=Eiffel+Tower" \
  -H "X-Api-Key: YOUR_KEY"

You'll get a GeoJSON FeatureCollection response:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [2.2944813, 48.8583701]
      },
      "properties": {
        "display_name": "Eiffel Tower, Champ de Mars, Paris, France",
        "place_id": "node/5013364969",
        "address": {
          "name": "Eiffel Tower",
          "road": "Champ de Mars",
          "city": "Paris",
          "country": "France",
          "country_code": "fr"
        }
      }
    }
  ]
}

Key fields: geometry.coordinates is [longitude, latitude] (GeoJSON order), and properties.address gives structured components ready to store or display.

4

Try the other APIs

The same key works for all four APIs:

Reverse Geocoding - coordinates to address
curl "https://api.pickpoint.io/v2/geocode/reverse?lat=48.858&lon=2.294" \
  -H "X-Api-Key: YOUR_KEY"
Address Search - autocomplete as user types
curl "https://api.pickpoint.io/v2/address/search?q=Eiff" \
  -H "X-Api-Key: YOUR_KEY"
Routing - turn-by-turn route between two points
curl -X POST "https://api.pickpoint.io/v2/route" \
  -H "X-Api-Key: YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"locations":[{"lat":48.858,"lon":2.294},{"lat":48.873,"lon":2.295}],"costing":"auto"}'
All endpoints return standard GeoJSON or JSON - no proprietary SDK formats. Results can be stored indefinitely without re-geocoding fees.
5

Explore in Geo Lab

Geo Lab is an interactive playground inside your dashboard. Build any request visually - geocoding, routing, address search, or device tracking - and see the results plotted on a live map alongside the raw JSON and a copy-ready code snippet.

Useful for exploring parameters before writing integration code: try the routing playground ↗ to see vehicle profiles, multi-stop optimization, and time windows in action.

6

Integrate into your app

The API is standard REST - any HTTP client works. Here's the same geocoding request in JavaScript:

const res = await fetch(
  'https://api.pickpoint.io/v2/geocode/forward?q=Eiffel+Tower',
  { headers: { 'X-Api-Key': process.env.PICKPOINT_KEY } }
);
const { features } = await res.json();
const [lon, lat] = features[0].geometry.coordinates;
console.log(lat, lon); // 48.8583701, 2.2944813

See the Node.js backend example for a complete proxy implementation, or the web map tutorials for browser integration.

How the APIs fit together

Each API is independent - you can use just geocoding, or just routing - but they're designed to compose. A typical delivery application uses all four: geocoding normalizes customer addresses when they're entered; routing builds the optimal multi-stop delivery order; address search powers the input fields in your UI; device tracking shows the courier's live position to dispatcher and customer alike.

Things consistent across every API

  • One key. The same X-Api-Key header authenticates all four APIs. No per-API keys, no per-feature billing tiers.
  • Plain JSON by default. Geocoding returns JSON with named lat and lon string fields. Add format=geojson for a GeoJSON FeatureCollection.
  • OpenStreetMap data. Geocoding and routing run on OSM, updated continuously. Global coverage, no licensing restrictions on storing results.
  • Never expose your key in the browser. Route API calls through your backend - a leaked key can drain your quota within minutes. See the Backend Examples.

GEO LAB

GEO LAB is an interactive playground inside your dashboard. Build any request visually, execute it, see results on a live map, and copy the generated snippet in cURL, JavaScript, Ruby, or Python. Use it to explore parameters before writing integration code.

Geocoding guideRouting guideDevice TrackingAPI Reference ↗