Indonesia Regional Data API

Complete Indonesia Regional Data API.

TatetaGeo provides fast, reliable access to complete Indonesian administrative regional data. Query provinces, regencies, districts, and villages with sub-5ms response times using secure API authentication.

Powerful Regional Data API

Access complete, accurate, and up-to-date Indonesian administrative regional data through a simple, secure REST API.

Indonesia Regional Geo API

Active

Complete administrative spatial nodes including provinces, regencies, districts, and villages in Indonesia. Meticulously parsed, sanitized, and updated directly from BPS database records.

Secure API Token Auth

Health Check & Status API

Active

Public health check endpoint for monitoring service availability and database connectivity. Returns real-time status with sub-millisecond response times.

Open Unauthenticated Access

Simple Integration

Querying Indonesian regional data is straightforward. Copy one of our code examples and integrate it directly into your application.

  • Standard Secure Bearer Token Auth
  • Query by province, regency, district, or village
  • High-speed JSON payloads with fallback nodes
tateta-request-sandbox.sh
curl -X GET "https://geo.tateta.samastanuswantara.com/api/v1/geo/provinces" \
-H "Authorization: Bearer tateta_api_token" \
-H "Accept: application/json"
Http::withToken('tateta_api_token')
->timeout(2)
->get('https://geo.tateta.samastanuswantara.com/api/v1/geo/provinces');
fetch('https://geo.tateta.samastanuswantara.com/api/v1/geo/provinces', {
headers: {
'Authorization': 'Bearer tateta_api_token',
'Accept': 'application/json'
}
}).then(res => res.json()).then(console.log);
import requests
response = requests.get(
'https://geo.tateta.samastanuswantara.com/api/v1/geo/provinces',
headers={'Authorization': 'Bearer tateta_api_token'}
)
print(response.json())
req, _ := http.NewRequest("GET", "https://geo.tateta.samastanuswantara.com/api/v1/geo/provinces", nil)
req.Header.Set("Authorization", "Bearer tateta_api_token")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
require 'net/http'
require 'json'
uri = URI('https://geo.tateta.samastanuswantara.com/api/v1/geo/provinces')
req = Net::HTTP::Get.new(uri)
req['Authorization'] = 'Bearer tateta_api_token'
res = Net::HTTP.start(uri.hostname, uri.port) { |http| http.request(req) }
puts JSON.parse(res.body)
const axios = require('axios');
axios.get('https://geo.tateta.samastanuswantara.com/api/v1/geo/provinces', {
headers: { 'Authorization': 'Bearer tateta_api_token' }
}).then(res => console.log(res.data));