/api/v4/locations/{locationId}/listings/premium拠点のプレミアム掲載情報を取得する
拠点のプランに含まれるすべての掲載先ディレクトリの同期ステータスを返します。
パラメーター
パス
| 名前 | 型 | 必須 | 説明 |
|---|---|---|---|
| locationId | string | 必須 | Location to read. Accepts a base64-encoded Relay ID (e.g. `TG9jYXRpb246MTgwMDI4OQ==`) or a raw numeric location ID. |
レスポンス
200Array of listings with per-directory sync status.
{ "data": { "listingsForLocation": [ { "id": "TGlzdGluZzoxMDQ0Njg3MjM=", "databaseId": "104468723", "site": { "id": "U2l0ZTox", "databaseId": "1", "name": "Google Maps", "url": "maps.google.com", "syScore": "100" }, "syncStatus": "REQUIRING_ACTION", "displayStatus": "Connect your account to sync the listing", "actionRequired": true, "listingUrl": null, "connectedAccountId": null, "lastUpdate": "2026-07-06T18:33:28Z", "indexStatus": false, "syncIssue": null, "verified": false }, { "id": "TGlzdGluZzoxMDQ0Njg3MTQ=", "databaseId": "104468714", "site": { "id": "U2l0ZToxODA=", "databaseId": "180", "name": "Bing", "url": "www.bing.com", "syScore": "97" }, "syncStatus": "IN_PROGRESS", "displayStatus": "Information submitted to partner; awaiting response", "actionRequired": false, "listingUrl": null, "connectedAccountId": null, "lastUpdate": "2026-07-06T18:33:35Z", "indexStatus": false, "syncIssue": null, "verified": false }, { "id": "TGlzdGluZzoxMDQ0Njg3Mjc=", "databaseId": "104468727", "site": { "id": "U2l0ZTozODc=", "databaseId": "387", "name": "BeLocalFocussed", "url": "belocalfocussed.com", "syScore": "80" }, "syncStatus": "SYNCED", "displayStatus": "Synced", "actionRequired": false, "listingUrl": "https://belocalfocussed.com/jenny-home-26x0ffkd0e", "connectedAccountId": null, "lastUpdate": "2026-07-06T18:33:30Z", "indexStatus": false, "syncIssue": null, "verified": false }, { "id": "TGlzdGluZzoxMDQ0Njg3MDk=", "databaseId": "104468709", "site": { "id": "U2l0ZTozMDE=", "databaseId": "301", "name": "Local Mint", "url": "localmint.com", "syScore": "69" }, "syncStatus": "FAILED", "displayStatus": "Partner experiencing issues; awaiting response", "actionRequired": false, "listingUrl": null, "connectedAccountId": null, "lastUpdate": "2026-07-06T18:34:03Z", "indexStatus": false, "syncIssue": "Publisher requires website URL", "verified": false } ] }}401Unauthenticated, missing or invalid API key.
429Rate limit exceeded. Retry after the `Retry-After` header value.
拠点のプランに含まれるすべての掲載先ディレクトリの同期ステータスを返します。各レコードは、site(ディレクトリのメタデータ)と、syncStatusおよび人が読める形式のdisplayStatusを組み合わせたものです。上の例は、Jenny Homeの実際のレスポンス(30以上のディレクトリを返します)から抜粋し、一般的な各状態のレコードを1件ずつ示したものです。
掲載情報の区分はパスで指定します。/listings/premiumはプランのプレミアムディレクトリ(ここに示したもの)を返し、/listings/additionalは追加の掲載情報や無料の掲載情報を返します。listingTypeというクエリパラメーターは存在せず、そこに送信された値は無視されます。
ユースケース:掲載状況のダッシュボード
拠点のプレミアム掲載情報を取得し、syncStatusでグループ化して、公開中、処理中、またはブロックされているディレクトリの数と掲載状況をひと目で確認できるようにします。SYNCEDの行にはlistingUrlを表示して、ユーザーがクリックして公開中の掲載情報にアクセスできるようにし、同期されていないものについてはdisplayStatus/syncIssueを確認します(例: Publisher requires website URL)。
ユースケース:アカウント接続が必要な項目を表示する
actionRequired: trueで絞り込み、オーナーが対応すべき項目の一覧を作成します。本番データでは、Google Maps、Facebook、WazeはREQUIRING_ACTIONとdisplayStatus: "Connect your account to sync the listing"を伴って返され、同期するには事前にOAuth接続が必要です。オーナーを対応する接続フローに案内し、その後このエンドポイントを再度ポーリングしてステータスの進行を確認します。
syncStatusの値: AVAILABLE(同期の準備完了、未開始)、IN_PROGRESS(パートナーに送信済み、応答待ち)、PENDING_APPROVAL(パートナーの承認待ち)、SYNCED / COMPLETED(公開中、listingUrlに値が設定済み)、REQUIRING_ACTION(オーナーの対応が必要、displayStatusを参照)、FAILED(同期失敗、syncIssueを参照)、CANNOT_SUBMIT(送信不可)です。
これはアカウントのレート制限が適用される拠点ごとのリストであり、429が返された場合は、すぐに再ポーリングせず、Retry-Afterヘッダーで指定された時間が経過してから再試行してください。
curl -X GET 'https://listingsapi.com/api/v4/locations/<locationId>/listings/premium' \ -H "Authorization: API $LISTINGSAPI_KEY"