Free & open REST API No API key required

The complete address database for Dominica

Access every parish, settlement, and street in the Commonwealth of Dominica through a free, open JSON API. No API key required. Built for developers, businesses, and government services.

JSON & GeoJSON Ranked search Polygon boundaries
Sub-50ms responses
GeoJSON polygons & points
GET /api/search?q=roseau 200 OK
{
  "parishes": [
    { "item": { "id": 7, "name": "St. George" },
      "score": 50.0 }
  ],
  "settlements": [
    { "item": { "id": 52, "name": "Roseau",
        "type": "City",
        "parishName": "St. George" },
      "score": 100.0 }
  ],
  "streets": [ /* ranked matches... */ ]
}
10
Parishes
110
Settlements
163
Streets
Why this API

Everything you need to work with Dominican addresses

Free, open, and ready to use — no signup required

Complete Data

Every parish, settlement, and street in Dominica — verified and regularly updated, with the full hierarchy linking each record to its parent.

  • 10 parishes, 110 settlements, 163 streets
  • Versioned dataset with a public changelog
St. GeorgeParish
RoseauCity
King George V Street
Great Marlborough Street
+ 87 more streets

Powerful Search

Ranked search with typo tolerance across all entities. Find any location with a single query.

rosau
RoseauCity · St. George100
St. GeorgeParish50
RosalieVillage · St. David41

Fast & Reliable

Sub-50ms response times with built-in caching and 99.9% uptime guarantee.

<50ms
Cached 1 hour 99.9% uptime

GPS Coordinates

Settlements support polygon boundaries with center-point fallback. Streets include point coordinates. Map-ready data.

  • GeoJSON Polygon or Point geometry
  • Nearby, reverse and bounding-box queries
"type": "Polygon" 15.30, -61.39
Live demo

Try It Live

Search the API right now — no signup required. Pick an example or type your own query.

  • Ranked resultsEvery match carries a relevance score
  • Typo tolerantClose spellings still find the right place
  • FilterableLimit results by parish, settlement or street
GET
Try:
Response Ready
// Press Send or pick an example to see live results...
Integration

Simple Integration

Get started in minutes with any language. Plain HTTP and JSON — nothing to install.

  1. 1
    Pick a languagecURL, JavaScript, Python or C#
  2. 2
    Copy the snippetUse the copy button on the code window
  3. 3
    Call the APINo key, no auth header, CORS enabled
Base URL https://api.dominica-address.com/api
## Get all parishes
curl https://api.dominica-address.com/api/parishes

## Search for a location
curl https://api.dominica-address.com/api/search?q=roseau

## Get a settlement with polygon geometry when available
curl https://api.dominica-address.com/api/settlements/1

## Export settlements as GeoJSON
curl https://api.dominica-address.com/api/bulk/export/settlements?format=json
const BASE_URL = "https://api.dominica-address.com/api";

// Search for a location
const response = await fetch(`${BASE_URL}/search?q=roseau`);
const data = await response.json();

console.log(data.parishes);    // Matching parishes
console.log(data.settlements); // Matching settlements
console.log(data.streets);     // Matching streets

// Get settlement details including polygonGeoJson when available
const settlement = await fetch(`${BASE_URL}/settlements/1`)
    .then(r => r.json());
import requests

BASE_URL = "https://api.dominica-address.com/api"

# Search for a location
response = requests.get(f"{BASE_URL}/search", params={"q": "roseau"})
data = response.json()

print(data["parishes"])     # Matching parishes
print(data["settlements"])  # Matching settlements
print(data["streets"])      # Matching streets

# Get settlement details including polygonGeoJson when available
settlement = requests.get(f"{BASE_URL}/settlements/1").json()
using var client = new HttpClient();
client.BaseAddress = new Uri("https://api.dominica-address.com");

// Search for a location
var result = await client
    .GetFromJsonAsync<SearchResult>("/api/search?q=roseau");

// Get settlement details including polygonGeoJson when available
var settlement = await client
    .GetFromJsonAsync<Settlement>("/api/settlements/1");
Reference

API Endpoints

Clean RESTful design with consistent JSON responses

Parishes4 endpoints
GET /api/parishes List all parishes
GET /api/parishes/{id} Get parish details
GET /api/parishes/{id}/settlements Settlements in parish
GET /api/parishes/{id}/streets Streets in parish
Settlements3 endpoints
GET /api/settlements?page=1&pageSize=20 Paginated list with point and polygon geometry fields
GET /api/settlements/{id} Get settlement details including polygonGeoJson when available
GET /api/settlements/{id}/streets Streets in settlement
Streets2 endpoints
GET /api/streets?page=1&pageSize=20 Paginated list
GET /api/streets/{id} Get street details
Address Validation1 endpoint
POST /api/address/validate Validate and normalize an address
Geo Queries3 endpoints
GET /api/geo/nearby?lat={lat}&lon={lon}&radius=5 Find locations within radius, using settlement polygons when available
GET /api/geo/reverse?lat={lat}&lon={lon} Reverse geocode coordinates with polygon-first settlement matching
GET /api/geo/bounds?minLat=&minLon=&maxLat=&maxLon= Locations within bounding box, including intersecting settlement polygons
Bulk Data2 endpoints
GET /api/bulk/export/settlements?format=json Settlement GeoJSON export with Polygon or Point geometry
GET /api/bulk/export/settlements?format=csv Settlement CSV export including polygonGeoJson
Dataset2 endpoints
GET /api/dataset/version Latest dataset version
GET /api/dataset/changelog?since={versionId} Changes since a version
FAQ

Frequently Asked Questions

Everything you need to know before you integrate.

Still have questions?

Check the live service status, or support the project and get in touch.

The API provides complete address data for the Commonwealth of Dominica, including all 10 parishes, 110 settlements (cities, towns, villages, and hamlets), and 163 streets. Each record includes name, type, hierarchical relationships, and geometry where available. Settlements can expose polygon boundaries and fall back to center coordinates when no boundary is stored.

All responses are returned in JSON format. Paginated endpoints include total count, page number, page size, and total pages metadata alongside the data array.

No. The API is completely free and open — no API key, no signup, no authentication required. Just make HTTP requests directly to the endpoints. Responses are cached for 1 hour for optimal performance.

Geometry is sourced from OpenStreetMap. Streets use point coordinates. Settlements may use polygon boundaries; otherwise their coordinates represent an approximate centre point. Accuracy is suitable for mapping, geocoding, and location-based services but should not be used for surveying purposes.

Absolutely. The API is free for both personal and commercial use. You can integrate it into your applications, websites, and services without restriction. The underlying address data is sourced from public records and OpenStreetMap.
Get started

Ready to build with Dominican address data?

Start using the API right now — no signup, no API key, completely free.

Enjoying the API? Consider supporting its development. Buy me a coffee
Your first request
$ curl https://api.dominica-address.com/api/search?q=roseau