Settings
List country subdivisions
Returns top-level ISO3166-2-style subdivision codes and names, sorted by name. An unknown country or one with no subdivisions returns an empty data array. locale is accepted but the subdivision repository currently supplies its own stored names.
GET
/
geo
/
subdivisions
/
{country_code}
List country subdivisions
curl --request GET \
--url https://api.gratona.com/v1/geo/subdivisions/{country_code}import requests
url = "https://api.gratona.com/v1/geo/subdivisions/{country_code}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.gratona.com/v1/geo/subdivisions/{country_code}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gratona.com/v1/geo/subdivisions/{country_code}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/geo/subdivisions/{country_code}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gratona.com/v1/geo/subdivisions/{country_code}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/geo/subdivisions/{country_code}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"code": "US",
"name": "United States"
}
]
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}⌘I
List country subdivisions
curl --request GET \
--url https://api.gratona.com/v1/geo/subdivisions/{country_code}import requests
url = "https://api.gratona.com/v1/geo/subdivisions/{country_code}"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.gratona.com/v1/geo/subdivisions/{country_code}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gratona.com/v1/geo/subdivisions/{country_code}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/geo/subdivisions/{country_code}"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gratona.com/v1/geo/subdivisions/{country_code}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/geo/subdivisions/{country_code}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"data": [
{
"code": "US",
"name": "United States"
}
]
}{
"errors": {},
"status": "error",
"message": "The given data was invalid."
}