Search
Mapbox Search APIはパブリックベータ版です。パブリックベータ版のMapbox Search APIでは、日本国内の場所に対する日本語のクエリのみご利用頂けます。他の言語のクエリで、海外を含めた検索結果をご確認いただくには、Mapbox Geocoding APIをご利用ください。
パブリックベータ期間中に此方のフィードバックまで送信頂いたご意見やご感想は、Search APIの改善に利用させて頂きます。
Mapbox Search APIはエンドユーザーにインタラクティブな検索体験の提供や、個別のフォワード又はリバースのジオコーディングクエリをサポートします。
Search APIのクエリを試用し、その結果を日本地図の上で確認することができます。
Mapbox Search APIを使って日本国内の場所を日本語で検索する際、様々な要因が検索精度に影響を及ぼします。Search APIをより有効的にお使い頂くためには此方のガイドをお読みください。サポートするスクリプト、住所データのカバー範囲や、検索クエリのフォーマットなどに関して補足しています。
Search APIエンドポイント
Search APIには6つのエンドポイントがあります: /suggest
, /retrieve
, /forward
, /permanent/forward
, /reverse
, /permanent/reverse
.
サジェスト
/suggest
エンドポイントを/retrieve
エンドポイントと組み合わせて使用すると、サジェスト検索機能をエンドユーザーに提供できます。先ずはアプリケーション内でユーザーの検索クエリを/suggest
エンドポイントに送信します。 その後UI上でユーザーが選択する検索サジェスト結果が/retrieve
エンドポイントに送信されます。詳しくは、本ドキュメントのサジェストの取得セクションをご参照ください。
取得
ユーザーが/suggest
エンドポイントで選択した結果は/retrieve
エンドポイントに送られ、地理座標を含むフィーチャが提供されます。/retrieve
アクションが実行されると、Search APIが選択されたフィーチャの座標を含むGeoJSONを返します。詳しくは、本ドキュメントのフィーチャに関する情報の取得セクションをご参照ください。
フォワードジオコーディング
/forward
エンドポイントは、場所を名前で検索し、地理座標を返すことができます。詳しくは、本ドキュメントのフォワードジオコーディングのセクションをご参照ください。
パーマネントフォワードジオコーディング
/permanent/forward
エンドポイントは、位置データを保存するユースケースで使用します。 /forward
エンドポイントは、場所を名前で検索し、地理座標を返すことができます。詳しくは、本ドキュメントのパーマネントフォワードジオコーディングのセクションをご参照ください。
リバースジオコーディング
/reverse
エンドポイントは、一組の座標を検索し、該当する場所の地理的特徴やフィーチャを返すことができます。詳しくは、本ドキュメントのリバースジオコーディングセクションをご参照ください。
パーマネントリバースジオコーディング
/permanent/reverse
エンドポイントは、位置データを保存するユースケースで使用します。 /reverse
エンドポイントは、一組の座標を検索し、該当する場所の地理的特徴やフィーチャを返すことができます。詳しくは、本ドキュメントのパーマネントリバースジオコーディングのセクションをご参照ください。
行政区画タイプ
Search APIでは様々な行政区画タイプがご利用頂けます。データ型はトップレベルのレスポンスとして表示されます。表示の際は、トップレベルのレスポンスのコンテキスト、またはtypes
オプションパラメータを使用したフィルターオプションとして表示されます。 利用可能な行政区画タイプは次の表の通りです。
行政区画タイプ | 概要 |
---|---|
country | 国家として認められている行政区画を指します。または、香港のように、ISO 3166-1が指定する国名コードを付与されている準国家としての行政区画も指します。 |
region | 米国の州(state)、カナダの州や中国の省(province)など、最高位の地方自治体の行政区画を指します。 |
prefecture | 日本では「県」(都道府県)と称される行政区画で、region に相当します。 |
postcode | 各国の住所システムで使用されている郵便番号です。 |
district | 最高位の行政区画より小規模のフィーチャになりますが、市よりも大きい地域を指します。国によっては、郵便物の宛先にこのようなレイヤーを加えて使用します。(例:中国の県) |
place | 一般的に、市区町村・自治体などを指します。通常、郵便物の宛先に使用されるフィーチャになります。このフィーチャは、現在地情報を反映させるようなアプリケーション(例:天気情報)に適しています。 |
city | 日本では「市町村」にあたる行政区画で、place に相当します。 |
locality | 郵便物の宛先に使用されるような、国家に正式に認可されている行政区画を指します。place やcity よりも細かい区画のフィーチャになります。ブラジルやチリの市区町村、フランスの「arrondissement(行政区)」などのような行政レイヤーを指します。 |
oaza | 日本では大字(訳註:または町域/町字とも呼ばれる。)と称される行政区画で、locality に相当します。 |
neighborhood | 現地で口語的に使用される区画の呼称です。place やcity よりも細かい区画のフィーチャですが、locality とは異なり、通常この行政区画は公式な行政区域ではないので、境界線が曖昧な場合があります。 |
chome | 日本では「丁目」と称される行政区画で、neighborhood に相当します。 |
block | 区画番号です。 |
street | 住居番号のない通りです。 |
address | 個人住宅や会社の住所を、住居番地付きの通りとして返します。日本では、「何番地、何号」の番号に相当します。chome (丁目)以下の部分はすべてaddress として指定されます。 |
サジェストの取得
GET /search/v1/suggest/{search_text}
サジェストを取得します。このエンドポイントは、ユーザークエリのオートコンプリート機能に基づいて、エンドユーザーが何を検索しているのかを予測します。retrieve
endpointと同時に使用すると、地理検索機能を有するアプリケーションに、オートコンプリート機能を追加できます。
Search APIのパブリックベータ版ではPOI(関心地点)検索はご利用いただけません。建物名、地元の店舗、公園などのPOIを検索する機能は今後実装する予定です。
必須パラメータ | データ型 | 概要 |
---|---|---|
access_token | 文字列 | Mapboxアクセストークン(デフォルトのパーミッション設定)です。 |
session_token | 文字列 | お客様が提供するセッション・トークンの値です。一連のリクエストをグループ化し、課金用に使用します。UUIDv4を推奨します。Search APIのコールを1つのセッションにまとめるsession_token については、本ドキュメントにあるセッション毎の料金のセクションをご参照ください。 |
search_text | 文字列 | ユーザーのクエリ文字列です。クエリ文字列の上限は120文字までです。 |
language | 文字列 | 返されるISO言語コードです。正確な結果を出すためには、このパラメータの値をja に設定してください. |
country | 文字列 | 「ISO 3166 alpha 2」の国名コードです。正確な結果を出すためには、このパラメータの値をJP に設定してください。 |
以下のオプションを使い、このエンドポイントに対するクエリの結果をより使いやすくできます:
オプション・パラメータ | データ型 | 概要 |
---|---|---|
bbox | 数値 | 指定されたバウンディングボックス内に含まれるものだけに結果を限定します。バウンディングボックスを指定するには、次の4つの数値、minimum longitude , minimum latitude , maximum longitude , maximum latitude の順にカンマ区切りで指定します。バウンディングボックスは、180度の子午線を越えることはできません。 |
limit | 整数 | 返される結果の数を設定します(最大10件)。 |
navigation_profile | 文字列 | 使用するナビゲーション・ルーティング・プロファイルです。利用可能なプロファイルは、driving ,walking ,cycling です。navigation_profile と origin は距離の計算に必要になります。 |
origin | 数値 | 距離を計算する起点を、longitude,latitude の順にカンマ区切りにした2つの座標で指定します。proximity とorigin の両方が提供された場合、origin はルートのターゲットとして解釈され、proximity はユーザーの現在地を示します。 このパラメータは、ターゲット間の距離を推定するため必要になりますが、遅延が発生する場合があります。 |
proximity | 数値 | 指定地点に近い結果が優先されるように、レスポンスを調整します(バイアスをかける)。結果は、longitude,latitude の順に、カンマ区切りの2つの座標として提供されます。proximity とorigin の両方が提供された場合、origin はルートのターゲットとして解釈され、proximity はユーザーの現在地を示します。 |
eta_type | 文字列 | origin で指定された場所からの到着時間を推定するために使用します。このパラメータで使用できる値は、navigation のみです。このパラメータは、origin およびnavigation_profile とともに、ETA(推定到着時刻)の計算に必要になります。ETA(推定到着時刻)の計算には遅延が発生します。 |
types | 文字列 | 結果を1つまたは複数のデータ型のフィーチャに限定して、カンマ区切りのリストを提供します。1つまたは複数のデータ型名をカンマ区切りのリストとして渡します。指定されたデータ型がない場合は、利用可能なすべてのデータ型を返します。以下のデータ型がご利用いただけます:country , region , prefecture , postcode , district , place , city , locality , oaza , neighborhood , chome , block , street , address 。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
リクエスト例: サジェストの取得
# Search for 新橋一丁十番一号,東京都港区新橋1丁目10番1号 using language, country, proximity, and limit parameters
$ curl "https://api.mapbox.com/search/v1/suggest/新橋一丁十番一号,東京都港区新橋1丁目10番1号?language=ja&limit=1&session_token=[GENERATED-UUID]&proximity=13.38333,52.51667&country=JP&access_token=YOUR_MAPBOX_ACCESS_TOKEN"
レスポンス: サジェストの取得
/suggest
エンドポイントに対してリクエストを実行した際、返されるレスポンスは、JSONサジェストオブジェクトの配列になります。サジェストには、結果の名前、概要、利用可能な場合は追加のメタデータ(近接ポイントまでの距離など)が含まれます。地理座標は含まれていません。座標を取得するためには、「/retrieve」エンドポイント/retrieve
endpointをコールします。この際、/suggest
結果の"action"
ブロックで提供された情報を使用します。"action"
ブロックは不透明型(OPAQUE)なので、アプリケーションで確認を行わなくてもそのまま使用することができます。
limit
パラメータを使用すると、検索結果の最大数を10件まで増やせます。現段階ではページネーションのご利用はできませんが、将来のリリースで追加される可能性があります。また、検索結果の順序をカスタマイズするオプションはありません。
各結果オブジェクトには、以下のプロパティが含まれます:
プロパティ | データ型 | 概要 |
---|---|---|
attribution | 文字列 | 結果の帰属データです。 |
version | 文字列 | サービスのバージョン情報です。Mapboxに問題を報告する際は、バージョン情報を明記の上、ご連絡ください。 |
response_uuid | 文字列 | サービスのバージョン情報です。Mapboxに問題を報告する際は、response_uuidを明記の上、ご連絡ください。 |
suggestions | オブジェクトの配列 | 返されたサジェストオブジェクトです。各サジェストオブジェクトに含まれるプロパティについては、以下の表をご参照ください。 |
各サジェストオブジェクトは、以下のプロパティを含みます:
プロパティ | データ型 | 概要 |
---|---|---|
feature_name | 文字列 | フィーチャの名前です。 |
matching_name | 文字列 | 検索アルゴリズムでマッチしたフィーチャー名です。 |
description | 文字列 | 都市名や州名を住所名として使用する場合などの追加情報です。 |
action | オブジェクト | このアクションブロックは、サジェストを継続するために必要な次のステップを示します。 |
action.endpoint | 文字列 | 次のリクエストを指定するエンドポイントです。現在のオプションはsuggest と retrieve です。/suggest コールは、APIが、次の最良の選択肢は別のラウンドのサジェストである、と判断したときに使用されます。/retrieve コールは、ユーザーの探している機能をAPIが理解し、ユーザーが結果の地理的座標を入手する準備ができたと判断したときに使用されます。 |
action.method | 文字列 | 次のリクエストで許可されるHTTPメソッドの種類です。選択肢はPOST 、または、あまり一般的ではありませんがGET も使用できます。 |
action.body | オブジェクト | GeoJSONを取得する際に、HTTP POST /retrieve に渡すデータの内容になります。 |
action.multi_retrievable | ブーリアン型 | 一括でデータの取得(バッチ・リトリーブ)を行う際に、特定のフィーチャを取得できるかどうかを示します。パブリックベータ版ではご利用いただけません。 |
result_type | 配列 | グローバルコンテキスト階層(region , place , locality , neighborhood , address )を使用した際の結果のデータ型です。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
geometry | オブジェクト | 返されたフィーチャの空間ジオメトリを記述するオブジェクトです。 |
geometry.coordinates | 配列 | そのフィーチャの座標を[longitude,latitude] としてフォーマットしたものです。 |
geometry.type | 文字列 | こちらは常に"Point" になります。 |
distance | 数値 | 「origin」の位置までのおおよその距離をメートル単位で返します。リクエストにorigin とnavigation_profile が使用されている場合のみ提供されます。 |
eta | 数値 | フィーチャから出発地点までの到着予定時間を分単位で表します。 リクエストに eta_type ,origin ,navigation_profile が使用されている場合のみ提供されます。住所が道路網上にない場合は、ETA(到着予想時刻)を提供できません。 |
maki | 文字列 | 結果で使用するMakiアイコンを表す文字列です。 |
language | 文字列 | 結果で使用する言語を示すIETFの言語タグです。 |
internal_id | 文字列 | 内部メタデータ用のIDです。このIDは、安定性や一意性を保証するものではなく、開発には役立ちません。 |
external_ids | オブエクト | 外部のデータプロバイダーから渡されたIDです。これらのIDは、安定性や一意性を保証するものではなく、開発には役立ちません。 |
context | 配列 | フィーチャのコンテキストです。 |
context.localized_layer | 文字列 | 日本のplace_type です。場所に関するデータ型については、本ドキュメントの「行政区画タイプ」のセクション行政区画タイプセクションをご参照ください。 |
context.layer | 文字列 | context.localized_layer の中にある日本のproperties.place_type に対応するグローバルなplace_type です。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
context.name | 文字列 | フィーチャの名前です。 |
metadata | オブジェクト | 日本の住所のメタデータ・フィールドです。 |
metadata.iso_3166_1 | 文字列 | 国名コードです。 |
metadata.iso_3166_2 | 文字列 | 国名コードと都道府県コードです。 |
レスポンス例: サジェストの取得
{
"suggestions": [{
"feature_name": "〒105-0004 東京都港区新橋1丁目10番1号",
"matching_name": "〒105-0004 東京都港区新橋1丁目10番1号",
"description": "",
"result_type": [
"address"
],
"language": "ja",
"action": {
"endpoint": "retrieve",
"method": "POST",
"body": {
"id": "abc123"
},
"multi_retrievable": false
},
"maki": "marker",
"internal_id": "example internal id",
"external_ids": {
"service": "2wwRMXwBRYqRl13lTvTP"
},
"context": [{
"layer": "block",
"localized_layer": "block",
"name": "10"
},
{
"layer": "neighborhood",
"localized_layer": "chome",
"name": "1丁目"
},
{
"layer": "locality",
"localized_layer": "oaza",
"name": "新橋"
},
{
"layer": "place",
"localized_layer": "city",
"name": "港区"
},
{
"layer": "region",
"localized_layer": "prefecture",
"name": "東京都"
}
],
"metadata": {
"iso_3166_1": "jp",
"iso_3166_2": "JP-13",
"reading": {
"ja_kana": "トウキョウトミナトクシンバシ",
"ja_latin": "toukyouto minatoku shinbashi"
}
}
}],
"attribution": "© 2021 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service. (https://www.mapbox.com/about/maps/)",
"version": "11:061a06471ec519420eeca5be2b87e043f2fe4cbe",
"response_uuid": "4b659949-c8c7-42d8-a541-6b427e5806cc"
}
サジェストされたフィーチャを取得
POST /search/v1/retrieve/
/suggest
エンドポイントに対するコールが成功した後、レスポンスのaction
ブロックに含まれる情報を使い、該当するフィーチャに関する情報を取得します。このエンドポイントを使用する際には、受け渡し用のパラメータは必要ありません。その代わりに、/suggest
のコールから返された「action」ブロックに関する情報をこのエンドポイントに渡す必要があります。
Search APIのパブリックベータ版ではPOI(関心地点)検索はご利用いただけません。建物名、地元の店舗、公園などのPOIを検索する機能は今後実装する予定です。
必須パラメータ | データ型 | 概要 |
---|---|---|
access_token | 文字列 | デフォルトのパーミッションを備えたMapboxアクセストークンaccess tokenです。 |
session_token | 文字列 | お客様が提供するセッション・トークンの値です。一連のリクエストをグループ化し、課金用に使用します。UUIDv4UUIDv4を推奨します。Search APIのコールを1つのセッションにまとめるsession_token については、本ドキュメントにあるセッション毎の料金のセクションをご参照ください。 |
リクエストボディのプロパティ | データ型 | 概要 |
---|---|---|
id | 文字列 | こちらのIDは、/suggestエンドポイントからのレスポンスにあるaction.body.id から取得します。 |
リクエスト例: サジェストされたフィーチャを取得
POST /search/v1/retrieve?session_token=[GENERATED-UUID]&access_token=YOUR_MAPBOX_ACCESS_TOKEN
リクエストボディの例:
{
"id": "12345"
}
レスポンス: サジェストされたフィーチャを取得
/retrieve
エンドポイントは、GeoJSONFeatureCollection
を返します。
プロパティ | データ型 | 概要 |
---|---|---|
type | 文字列 | こちらは常に"FeatureCollection" となります。 |
attribution | 文字列 | 結果の帰属データです。 |
version | 文字列 | サービスのバージョン情報です。Mapboxに問題を報告する際は、バージョン情報を明記の上、ご連絡ください。 |
response_uuid | 文字列 | サービスのバージョン情報です。Mapboxに問題を報告する際は、response_uuidを明記の上、ご連絡ください。 |
features | オブジェクトの配列 | 返されたフィーチャオブジェクトです。各フィーチャオブジェクトに含まれるプロパティについては、以下の表をご参照ください。 |
レスポンスボディの各フィーチャには、以下のプロパティが含まれます:
プロパティ | データ型 | 概要 |
---|---|---|
bbox | 配列 | minimum longitude ,minimum latitude ,maximum longitude ,maximum latitude 形式のバウンディングボックスです。パブリックベータ期間中はご利用いただけません。 |
geometry | オブジェクト | 返されたフィーチャの空間ジオメトリを記述するオブジェクトです。 |
geometry.coordinates | 配列 | フィーチャの座標で、[longitude,latitude] というフォーマットになっています。 |
geometry.type | 文字列 | こちらは常に"Point" になります。 |
type | 文字列 | こちらは常に"Feature" になります。 |
properties | オブジェクト | 返されたフィーチャに関連する特定のプロパティです。 |
properties.maki | 文字列 | 結果で使用するMakiアイコンを表す文字列です。 |
properties.metadata | オブジェクト | 日本の住所のメタデータ・フィールドです。 |
properties.metadata.iso_3166_1 | 文字列 | 国名コードです。 |
properties.metadata.iso_3166_2 | 文字列 | 国名コードと都道府県コードです。 |
properties.address | 文字列 | 結果に住所が含まれる場合、現地形式の住所になります。 |
properties.feature_name | 文字列 | フィーチャの名前です。 |
properties.matching_name | 文字列 | 検索アルゴリズムでマッチしたフィーチャー名です。 |
properties.internal_id | 文字列 | 内部メタデータ用のIDです。このIDは、安定性や一意性を保証するものではなく、開発には役立ちません。 |
properties.external_ids | オブジェクト | 外部のデータプロバイダーから渡されたIDです。これらのIDは、安定性や一意性が保証されていないため、開発には役立ちません。 |
properties.place_type | 配列 | 結果の型です。場所に関するデータ型については、行政区画タイプセクションをご参照ください。 |
properties.language | 文字列 | IETF言語タグです。 |
properties.address_number | 文字列 | 住所オブジェクトの住居番号です。 |
properties.context | オブジェクトの配列 | フィーチャのコンテキストです。 |
properties.context.localized_layer | 文字列 | 日本のplace_type です。場所に関するデータ型については、行政区画タイプセクションをご参照ください。 |
properties.context.layer | 文字列 | context.localized_layer 内の日本のproperties.place_type に対応するグローバルなplace_type です。場所に関するデータ型については、行政区画タイプセクションをご参照ください。 |
properties.context.name | 文字列 | フィーチャの名前です。 |
レスポンス例: サジェストされたフィーチャを取得
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"coordinates": [
139.7596417,
35.6675028
],
"type": "Point"
},
"properties": {
"feature_name": "〒105-0004 東京都港区新橋1丁目10番1号",
"matching_name": "〒105-0004 東京都港区新橋1丁目10番1号",
"description": "",
"place_name": "〒105-0004 東京都港区新橋1丁目10番1号",
"id": "2wwRMXwBRYqRl13lTvTP",
"place_type": [
"address"
],
"context": [{
"layer": "block",
"localized_layer": "block",
"name": "10"
},
{
"layer": "chome",
"localized_layer": "chome",
"name": "1丁目"
},
{
"layer": "oaza",
"localized_layer": "oaza",
"name": "新橋"
},
{
"layer": "city",
"localized_layer": "city",
"name": "港区"
},
{
"layer": "prefecture",
"localized_layer": "prefecture",
"name": "東京都"
}
],
"language": "ja",
"maki": "marker",
"internal_id": "example internal id",
"external_ids": {
"japan_address": "2wwRMXwBRYqRl13lTvTP"
},
"accuracy": "rooftop",
"address": "〒105-0004 東京都港区新橋1丁目10番1号",
"address_number": "1",
"metadata": {
"iso_3166_1": "jp",
"iso_3166_2": "JP-13",
"reading": {
"ja_kana": "トウキョウトミナトクシンバシ",
"ja_latin": "toukyouto minatoku shinbashi"
}
}
}
}],
"attribution": "© 2021 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service. (https://www.mapbox.com/about/maps/)",
"version": "11:061a06471ec519420eeca5be2b87e043f2fe4cbe",
"response_uuid": "55491b50-f5df-4725-aeb1-3e8ed4a07b17"
}
フォワードジオコーディング
GET /search/v1/forward/{search_text}
ユーザーからの問い合わせ(ユーザークエリ)に応じて、地理座標を含む特定のフィーチャに関する情報を取得することができます。
Search APIのパブリックベータ版ではPOI(関心地点)検索はご利用いただけません。建物名、地元の店舗、公園などのPOIを検索する機能は今後実装する予定です。
必須パラメータ | データ型 | 概要 |
---|---|---|
access_token | 文字列 | デフォルトのパーミッションを備えたMapboxアクセストークンaccess tokenです。 |
search_text | 文字列 | ユーザーのクエリ文字列です。クエリ文字列の上限は120文字までです。 |
language | 文字列 | 返されるISO言語コードになります。正確な結果を出すためには、パラメータの値をja に設定してください. |
country | 文字列 | 「ISO 3166 alpha 2」の国名コードになります。正確な結果を出すためには、パラメータの値をja に設定してください。 |
このエンドポイントに対するクエリの結果を、以下のオプションのパラメータでさらに使いやすくできます:
任意のパラメータ | データ型 | 概要 |
---|---|---|
bbox | 数値 | 指定されたバウンディングボックス内に含まれるものだけに結果を限定します。バウンディングボックスを指定するには、次の4つの数値、minimum longitude ,minimum latitude ,maximum longitude ,maximum latitude の順にカンマ区切りで指定します。バウンディングボックスは、180度の子午線を越えることはできません。 |
limit | 整数 | 返される結果の数を設定します(最大10件)。 |
navigation_profile | 文字列 | 使用するナビゲーション・ルーティング・プロファイルです。 ご利用可能なプロファイルは、driving , walking , cycling です。navigation_profile とorigin は距離の計算に必要になります。 |
types | 文字列 | 結果を1つまたは複数のデータ型のフィーチャに限定して、カンマ区切りのリストを提供します。1つまたは複数のデータ型名をカンマ区切りのリストとして渡します。指定されたデータ型がない場合は、利用可能なすべてのデータ型を返します。以下のデータ型がご利用いただけます:country , region , prefecture , postcode , district , place , city , locality , oaza , neighborhood , chome , block , street , address 。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
リクエスト例: フォワードジオコーディング
$ curl "https://api.mapbox.com/search/v1/forward/新橋一丁十番一号,東京都港区新橋1丁目10番1号?language=ja&limit=1&proximity=13.38333,52.51667&country=JP&access_token=YOUR_MAPBOX_ACCESS_TOKEN"
パーマネントフォワードジオコーディング
GET /search/v1/permanent/forward/{search_text}
Mapboxの利用規約では、/suggest
, /retrieve
, /forward
, /reverse
のいずれかのエンドポイントから返されるすべてのデータは、一時利用のみが可能であると規定されています。位置情報を保存するユースケースの場合は、Mapbox担当営業までお問い合わせください。この規定はmapbox.places-permanent
endpointエンドポイントに適用されるMapbox Geocoding APIコールの利用規約と同様です。
/permanent/forward
エンドポイントは、/forward
endpointと同じパスとクエリパラメータを使用します。
レスポンス: フォワードジオコーディング
/forward
エンドポイントに対してリクエストを実行した際、返されるレスポンスは、GeoJSON FeatureCollection
です。
limit
パラメータを使用すると、検索結果の最大数を10件まで増やせます。現段階ではページネーションのご利用はできませんが、将来のリリースで追加される可能性があります。また、検索結果の順序をカスタマイズするオプションはありません。
プロパティ | データ型 | 概要 |
---|---|---|
type | 文字列 | こちらは常に"FeatureCollection" となります。 |
attribution | 文字列 | 結果の帰属データです。 |
version | 文字列 | サービスのバージョン情報です。Mapboxに問題を報告する際は、バージョン情報を明記の上、ご連絡ください。 |
response_uuid | 文字列 | サービスのバージョン情報です。Mapboxに問題を報告する際は、response_uuidを明記の上、ご連絡ください。 |
features | オブジェクトの配列 | 返されたフィーチャオブジェクトです。各フィーチャオブジェクトに含まれるプロパティについては、以下の表をご参照ください。 |
レスポンスボディの各フィーチャには、以下のプロパティが含まれます:
プロパティ | データ型 | 概要 |
---|---|---|
bbox | 配列 | 次の4つのフォーマット(minimum longitude , minimum latitude , maximum longitude , maximum latitude )のバウンディングボックスです。パブリックベータ期間中はご利用いただけません。 |
geometry | オブジェクト | 返されたフィーチャの空間ジオメトリを記述するオブジェクトです。 |
geometry.coordinates | 配列 | そのフィーチャの座標を[longitude,latitude] としてフォーマットしたものです。 |
geometry.type | 文字列 | こちらは常に"Point" になります。 |
type | 文字列 | こちらは常に"Feature" になります。 |
properties | オブジェクト | 返されたフィーチャに関連する特定のプロパティ。 |
properties.maki | 文字列 | 結果で使用するMakiアイコンを表す文字列です。 |
properties.metadata | オブジェクト | 日本の住所のメタデータ・フィールドです。 |
properties.metadata.iso_3166_1 | 文字列 | 国名コードです。 |
properties.metadata.iso_3166_2 | 文字列 | 国名コードと都道府県コードです。 |
properties.address | 文字列 | 結果に住所が含まれる場合、現地形式の住所になります。 |
properties.address_number | 文字列 | 住所オブジェクトの住居番号です。 |
properties.feature_name | 文字列 | フィーチャの名前です。 |
properties.matching_name | 文字列 | 検索アルゴリズムでマッチしたフィーチャー名です。 |
properties.place_type | 配列 | 結果の型です。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
properties.language | 文字列 | IETF言語タグです。 |
properties.internal_id | 文字列 | 内部メタデータ用のIDです。このIDは、安定性や一意性を保証するものではなく、開発には役立ちません。 |
properties.external_ids | オブジェクト | 外部のデータプロバイダーから渡されたIDです。これらのIDは、安定性や一意性が保証されていないため、開発には役立ちません。 |
properties.context | オブジェクトの配列 | フィーチャのコンテキストです。 |
properties.context.localized_layer | 文字列 | 日本のplace_type です。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
properties.context.layer | 文字列 | context.localized_layer の中にある日本のproperties.place_type に対応するグローバルなplace_type です。 場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
properties.context.name | 文字列 | フィーチャの名前です。 |
レスポンス例: フォワードジオコーディング
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"coordinates": [
139.7596417,
35.6675028
],
"type": "Point"
},
"properties": {
"feature_name": "〒105-0004 東京都港区新橋1丁目10番1号",
"matching_name": "〒105-0004 東京都港区新橋1丁目10番1号",
"description": "",
"place_name": "〒105-0004 東京都港区新橋1丁目10番1号",
"id": "2wwRMXwBRYqRl13lTvTP",
"place_type": [
"address"
],
"context": [{
"layer": "block",
"localized_layer": "block",
"name": "10"
},
{
"layer": "chome",
"localized_layer": "chome",
"name": "1丁目"
},
{
"layer": "oaza",
"localized_layer": "oaza",
"name": "新橋"
},
{
"layer": "city",
"localized_layer": "city",
"name": "港区"
},
{
"layer": "prefecture",
"localized_layer": "prefecture",
"name": "東京都"
}
],
"language": "ja",
"maki": "marker",
"internal_id": "example internal id",
"external_ids": {
"japan_address": "2wwRMXwBRYqRl13lTvTP"
},
"accuracy": "rooftop",
"address": "〒105-0004 東京都港区新橋1丁目10番1号",
"address_number": "1",
"metadata": {
"iso_3166_1": "jp",
"iso_3166_2": "JP-13",
"reading": {
"ja_kana": "トウキョウトミナトクシンバシ",
"ja_latin": "toukyouto minatoku shinbashi"
}
}
}
}],
"attribution": "© 2021 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service. (https://www.mapbox.com/about/maps/)",
"version": "11:061a06471ec519420eeca5be2b87e043f2fe4cbe",
"response_uuid": "733725e4-3992-43e5-9cad-bac75698eb59"
}
リバースジオコーディング
GET /search/v1/reverse/{search_text}
/reverse
エンドポイントでは、一組の座標を検索し、その場所に存在する地理的特徴やフィーチャを返すことができます。
必須パラメータ | データ型 | 概要 |
---|---|---|
access_token | 文字列 | デフォルトのパーミッションを備えたMapboxアクセストークンaccess tokenです。 |
search_text | 文字列 | ユーザーのクエリ文字列です。クエリ文字列の上限は120文字までです。 |
language | 文字列 | 表示されるISO言語コードになります。正確な結果を出すためには、パラメータの値をja に設定してください。 |
以下のオプションを使い、このエンドポイントに対するクエリの結果をより使いやすくできます:
オプション・パラメータ | データ型 | 概要 |
---|---|---|
limit | 整数 | 返される結果の数を設定します(最大10件)。 |
types | 文字列 | 検索1回に対し最大5件の結果を返します。結果を1つまたは複数のデータ型のフィーチャに限定して、カンマ区切りのリストを提供します。1つまたは複数のデータ型名をカンマ区切りのリストとして渡します。指定されたデータ型がない場合は、利用可能なすべてのデータ型を返します。以下のデータ型がご利用いただけます:country , region , prefecture , postcode , district , place , city , locality , oaza , block , street , address 。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
リクエスト例: リバースジオコーディング
$ curl "https://api.mapbox.com/search/v1/reverse/139.58028,35.29556?language=ja&access_token=YOUR_MAPBOX_ACCESS_TOKEN"
パーマネントリバースジオコーディング
GET /search/v1/permanent/reverse/{search_text}
Mapboxの利用規約では、/suggest
, /retrieve
, /forward
, /reverse
のいずれかのエンドポイントから返されるすべてのデータは、一時利用のみが可能であると規定されています。位置情報を保存するユースケースの場合は、Mapbox担当営業までお問い合わせください。この規定はmapbox.places-permanent
endpointエンドポイントに適用されるMapbox Geocoding APIコールの利用規約と同様です。
/permanent/reverse
エンドポイントは、/reverse
endpointと同じパスとクエリパラメータを使用します。
レスポンス: リバースジオコーディング
/reverse
エンドポイントに対してリクエストを実行した際、返されるレスポンスは、GeoJSON FeatureCollection
です。limit
パラメータを使用すると、検索結果の最大数を10件まで増やせます。現段階ではページネーションのご利用はできませんが、将来のリリースで追加される可能性があります。また、検索結果の順序をカスタマイズするオプションはありません。
プロパティ | データ型 | 概要 |
---|---|---|
type | 文字列 | こちらは常に"FeatureCollection" となります。 |
attribution | 文字列 | 結果の帰属データです。 |
version | 文字列 | サービスのバージョン情報です。Mapboxに問題を報告する際は、バージョン情報を明記の上、ご連絡ください。 |
response_uuid | 文字列 | サービスのバージョン情報です。Mapboxに問題を報告する際は、response_uuidを明記の上、ご連絡ください。 |
features | オブジェクトの配列 | 返されたフィーチャオブジェクトです。各フィーチャオブジェクトに含まれるプロパティについては、以下の表をご参照ください。 |
レスポンスボディの各フィーチャには、以下のプロパティが含まれます:
プロパティ | データ型 | 概要 |
---|---|---|
bbox | 配列 | 次の4つのフォーマット(minimum longitude , minimum latitude , maximum longitude , maximum latitude )のバウンディングボックスです。パブリックベータ期間中はご利用いただけません。 |
geometry | オブジェクト | 返されたフィーチャの空間ジオメトリを記述するオブジェクトになります。 |
geometry.coordinates | 配列 | そのフィーチャの座標を[longitude,latitude] としてフォーマットしたもの。 |
geometry.type | 文字列 | こちらは常に"Point" になります。 |
type | 文字列 | こちらは常に"Feature" になります。 |
properties | オブジェクト | 返されたフィーチャに関連する特定のプロパティです。 |
properties.maki | 文字列 | 結果で使用するMakiアイコンを表す文字列です。 |
properties.metadata | オブジェクト | 日本の住所のメタデータ・フィールド。 |
properties.metadata.iso_3166_1 | 文字列 | 国名コードです。 |
properties.metadata.iso_3166_2 | 文字列 | 国名コードと都道府県コードです。 |
properties.address | 文字列 | 結果に住所が含まれる場合、現地形式の住所になります。 |
properties.feature_name | 文字列 | フィーチャの名前です。 |
properties.matching_name | 文字列 | 検索アルゴリズムでマッチしたフィーチャー名です。 |
properties.place_type | 配列 | 結果の型です。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
properties.language | 文字列 | IETF言語タグです。 |
properties.internal_id | 文字列 | 内部メタデータ用のIDです。このIDは、安定性や一意性を保証するものではなく、開発には役立ちません。 |
properties.external_ids | オブジェクト | 外部のデータプロバイダーから渡されたIDです。これらのIDは、安定性や一意性が保証されていないため、開発には役立ちません。 |
properties.address_number | 文字列 | 住所オブジェクトの住居番号です。 |
properties.context | オブジェクトの配列 | フィーチャのコンテキストです。 |
properties.context.localized_layer | 文字列 | 日本のplace_type です。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
properties.context.layer | 文字列 | context.localized_layer の中にある日本のproperties.place_type に対応するグローバルなplace_type です。場所に関するデータ型については、本ドキュメントの行政区画タイプセクションをご参照ください。 |
properties.context.name | 文字列 | フィーチャの名前です。 |
レスポンス例: リバースジオコーディング
{
"type": "FeatureCollection",
"features": [{
"type": "Feature",
"geometry": {
"coordinates": [
139.58041388935513,
35.29559166696336
],
"type": "Point"
},
"properties": {
"feature_name": "逗子5丁目2番",
"matching_name": "逗子5丁目2番",
"description": "日本, 神奈川県逗子市逗子5丁目2番16",
"place_name": "日本, 神奈川県逗子市逗子5丁目2番16",
"id": "address.141324126",
"place_type": [
"address"
],
"context": [{
"layer": "postcode.15947689941269040",
"localized_layer": "postcode.15947689941269040",
"name": "249-0006"
},
{
"layer": "place.9212495244633840",
"localized_layer": "place.9212495244633840",
"name": "逗子市"
},
{
"layer": "region.3991212366959510",
"localized_layer": "region.3991212366959510",
"name": "神奈川県"
},
{
"layer": "country.9827633378530190",
"localized_layer": "country.9827633378530190",
"name": "日本"
}
],
"language": "ja",
"maki": "marker",
"internal_id": "example internal id",
"external_ids": {
"carmen": "address.141324126",
"federated": "carmen.address.141324126"
},
"accuracy": "point",
"address_number": "16",
"metadata": {
"iso_3166_1": "jp",
"iso_3166_2": "JP-14"
},
"routable_points": []
}
}],
"attribution": "© 2021 Mapbox and its suppliers. All rights reserved. Use of this data is subject to the Mapbox Terms of Service. (https://www.mapbox.com/about/maps/)",
"version": "11:061a06471ec519420eeca5be2b87e043f2fe4cbe",
"response_uuid": "29135029-2b4d-477e-bc30-67303b12ddad"
}
Search APIのエラー
レスポンスボディのメッセージ message | HTTP エラーコード | 概要 |
---|---|---|
Not authorized | 401 | クエリで使用しているアクセストークンを確認してください。 |
Bad request | 400 | エンドポイント、パスパラメーター、クエリパラメーターに構文エラーがないか、リクエストを確認してください。 |
Forbidden | 403 | お使いのアカウントに問題がある可能性があります。詳しくは アカウントをご確認ください。 また、アクセストークンでURLを制限して使用すると、 403 エラーになる場合があります。詳しくは、トークン管理ガイドをご覧ください。 |
Not found | 404 | クエリにsearch_text が指定されていません。 |
Search APIの制限
- Mapbox Search APIのレート制限は、デフォルトで毎分600リクエストです。レート制限を増加するにはMapboxの担当営業までお問い合わせください。
- Search APIの
/suggest
や/retrieve
エンドポイントのコールには、session_token
パラメータを含める必要があります。検索セッション内で行われる各APIコールは、コール1回ごとにレート制限にカウントされます。例えば、同じsession_token
を用いて/suggest
に連続で10回コールを行い、さらに/retrieve
に1回コールを行うと、11回のリクエストを行ったことになります。ですが、請求の際には1つのセッションとしてカウントされます。Search APIの課金方法については、本ドキュメントにあるセッション毎の料金 のセクションで詳しく説明しています。
Search API使用料
Search APIの使用料は、検索セッションsearch sessionやAPI callごとに請求されます。また、この使用料は、ご利用されているSearch APIのエンドポイントに応じて変動します。日本限定リリースされたベータ版での価格情報は、日本版の料金設定でご確認いただけます。このページでは、無料版に含まれるリクエスト数や、有料で行える追加リクエストの単価などの情報をご確認いただけます。
セッションの使用料
Search APIの/suggest
や/retrieve
エンドポイントには、session_token
パラメータを含める必要があります。共通のsession_token
を持つ/suggest
や/retrieve
に対するコールは、セッションごと の請求となります。セッション辺りの料金については、Mapbox担当営業までお問い合わせください。
以下の行為は、一回のセッションとしてカウントされます:
- 共通の
session_token
を用いて/suggest
にコールをした後に/retrieve
に連続でコールを行った場合。 - 共通の
session_token
を用いて/suggest
に50回連続でコールを行った場合。 /suggest
にコール後、60分以内に/retrieve
にコールを行わなかった場合。
セッションあたりの価格に関しては、Mapbox担当営業までご連絡ください。
APIコールの使用料
Search APIの /forward
, /permanent/forward
, /reverse
/permanent/reverse
, エンドポイントに対するコールは、APIコールごとの請求となります。これらのエンドポイントにコールする際の請求方法については、日本版の価格設定をご覧ください。