Data as a Service

The Geography API for
Modern Applications

PiriAPI delivers structured, hierarchical location data — countries, states, cities, districts — via a fast RESTful interface. Powered by OpenStreetMap. Built for developers who need precise geospatial data without the overhead.

REST APIgRPCGraphQLOSM PoweredJWT AuthFull-Text Search
location hierarchy
TurkeyAL-235.23, 39.29
├─AnkaraAL-4
│ ├─ÇankayaAL-6
│ └─KeçiörenAL-6
├─IstanbulAL-4
│ ├─BeyoğluAL-6
│ └─KadıköyAL-6
└─İzmirAL-4
  ├─BornovaAL-6
  └─KonakAL-6
195+Countries
50K+Places
Multi-langPlace Names
OSMData Source
MITLicense
Available via
RESTHTTP/JSON · OpenAPI 3.1
gRPCProtocol Buffers · HTTP/2
GraphQLFlexible Queries · Schema

Capabilities

Everything your app needs
to work with location data

From a simple country list to deep hierarchical traversal and full-text search — PiriAPI covers the full spectrum of geospatial data needs.

Hierarchical Location Data

Navigate seamlessly from country level down to state, city, and district. Each place carries its admin level, parent address chain, and localized names.

Full Text Search

Instant search across millions of place names in any language. FTS index is kept in sync automatically — query by any part of the name.

IP GeolocationSoon

Resolve any IP address to a physical location. Look up country, region, and city from a single IP string.

OpenStreetMap Powered

All data is sourced from OpenStreetMap via Nominatim-compatible ingestion. Global coverage with accurate administrative boundaries at every level.

Multi-Protocol Support

Consume PiriAPI over REST (HTTP/JSON), gRPC (Protocol Buffers, HTTP/2), or GraphQL — pick the transport that fits your stack. All protocols expose the same data model.

Batch Processing

Import large datasets in bulk via file upload. Supports Nominatim-compatible JSON structures for seamless migration and initial seeding.

API Reference

Clean, predictable endpoints

Standard REST conventions throughout. Every response is JSON with consistent pagination via limitoffset, and count.

response preview
GET /api/v1/places
{
  "list": [
    {
      "id": "174737",
      "admin_level": 2,
      "localname": "Türkiye",
      "country_code": "tr",
      "coordinates": [35.231, 39.294]
    }
    // ... 194 more countries
  ],
  "count": 195
}

Data Source

Powered by
OpenStreetMap

PiriAPI ingests Nominatim-compatible place records from OpenStreetMap, giving you the most comprehensive and up-to-date administrative boundary dataset available.

live place index activity

Get Started

Start building with
location intelligence today

Sign in with your email — no password required. Get an API key and make your first request in under two minutes.

Create Free Account