Совместимая замена OpenCage

OpenCage использует один эндпоинт для прямого и обратного геокодирования и возвращает подробный блок annotations. opencage.mygeocode.com делает то же самое, включая аннотации часового пояса, валюты, телефонного кода и в стиле what3words, которые читают пользователи OpenCage.

Измените одно имя хоста

Исходный хост
  • api.opencagedata.com
Используйте вместо негоopencage.mygeocode.com
Параметр ключаkey (необязательно: любой адрес получает 2 500 запросов в день без ключа; укажите здесь свой ключ My Geocode, чтобы пользоваться балансом, пакетами и историей использования)
До
curl "https://api.opencagedata.com/geocode/v1/json?q=Colosseum+Rome&key=YOUR_OPENCAGE_KEY"
После
curl "https://opencage.mygeocode.com/geocode/v1/json?q=Colosseum+Rome&key=YOUR_MYGEOCODE_KEY"

Почему переходят

Тот же запрос, та же структура ответа, 2 500 бесплатных запросов в день на ключ без требования указывать авторство и без ограничения на коммерческое использование.

Та же бесплатная квота, с ключом или без. Запросы к opencage.mygeocode.com учитываются в тех же 2 500 бесплатных запросах в день, которые ваш адрес или ваш ключ получает на наших собственных эндпоинтах. Сверх этого: предоплаченный баланс по 0,0001 € за запрос или 50 € в месяц за ключ Unlimited. Для регистрации нужен только адрес электронной почты.

Смотреть цены Получить бесплатный ключ

Эндпоинты

Путь на opencage.mygeocode.comЧто делаетНа основе
/geocode/v1/json?q=...Прямое геокодированиеПрямое геокодирование
/geocode/v1/json?q=lat,lngОбратное геокодированиеОбратное геокодирование
/geocode/v1/geojson?q=...Вывод в GeoJSONПрямое геокодирование

Пример ответа

Вот что возвращает запрос выше. Названия полей, вложенность и типы соответствуют OpenCage. Наши только данные за ними.

Ответ от opencage.mygeocode.com
{
  "documentation": "https://www.mygeocode.com/compatibility/opencage/",
  "licenses": [ { "name": "My Geocode Terms", "url": "https://www.mygeocode.com/terms/" } ],
  "rate": { "limit": 2500, "remaining": 2483, "reset": 1756339200 },
  "results": [
    {
      "annotations": {
        "DMS": { "lat": "41° 53' 24.72'' N", "lng": "12° 29' 31.92'' E" },
        "callingcode": 39,
        "currency": { "iso_code": "EUR", "name": "Euro", "symbol": "€" },
        "flag": "🇮🇹",
        "timezone": { "name": "Europe/Rome", "now_in_dst": 1, "offset_sec": 7200, "offset_string": "+0200", "short_name": "CEST" }
      },
      "bounds": {
        "northeast": { "lat": 41.8905, "lng": 12.4932 },
        "southwest": { "lat": 41.8897, "lng": 12.4914 }
      },
      "components": {
        "ISO_3166-1_alpha-2": "IT",
        "ISO_3166-1_alpha-3": "ITA",
        "_category": "travel/tourism",
        "_type": "attraction",
        "attraction": "Colosseo",
        "city": "Roma",
        "continent": "Europe",
        "country": "Italia",
        "country_code": "it",
        "postcode": "00184",
        "road": "Piazza del Colosseo",
        "state": "Lazio"
      },
      "confidence": 9,
      "formatted": "Colosseo, Piazza del Colosseo, 00184 Roma RM, Italia",
      "geometry": { "lat": 41.8902, "lng": 12.4922 }
    }
  ],
  "status": { "code": 200, "message": "OK" },
  "total_results": 1
}

Подробности и отличия

Для первых 2 500 запросов в день ключ не нужен. Чтобы использовать ключ My Geocode, укажите его там, где был ключ OpenCage: в параметре запроса key. Заголовок X-API-Key, Authorization: Bearer и базовая HTTP-аутентификация (ключ в качестве имени пользователя) тоже работают на каждом хосте, поэтому клиентские библиотеки со своим способом аутентификации продолжают работать без изменений.

Строки об авторских правах, названия лицензий, ссылки на условия и политику конфиденциальности в ответе наши, а не исходного провайдера. Всё остальное сохраняет исходную структуру.

  • Блок rate показывает вашу реальную бесплатную квоту, её остаток и время сброса.
  • Поддерживаются оба эндпоинта: json и geojson.
  • Пакетного эндпоинта нет, потому что его нет у оригинала. Для массовой обработки используйте POST /v1/forward или /v1/reverse на api.mygeocode.com (до 100 за вызов, каждый элемент считается одним запросом).

Если ваш клиент зависит от поля или поведения, которого здесь нет, сообщите нам. Пробелы в совместимости исправляются быстро, потому что обычно они невелики.

Другие совместимые хосты

Как работают совместимые хосты, обзор и совместимые замены для библиотек JavaScript.