# SERP APIレスポンス形式: JSONのすべてのブロックとフィールド

> SerpCrypto SERP APIのレスポンスをフィールドごとに解説します: search_metadata、organic_results、ai_overview、people_also_ask、local pack、ads、エンジン別配列。

- URL: https://serpcrypto.com/ja/docs/response/
- 最終更新: 2026-10-22
- 発行者: SerpCrypto (https://serpcrypto.com)

すべてのエンジンで共通のフレームがあり、その後ろに検索結果ページの各部分ごとのブロックが続きます。このページでは各ブロック、そのフィールド、型を一覧します。サンプル内のID、件数、価格、結果は例示用です。

**簡潔な回答 — SerpCrypto SERP APIのレスポンスには何が含まれますか？**

各**SerpCrypto**レスポンスは1つのJSONオブジェクトです: `search_metadata`（ステータス、エンジン、使用クレジット）、`search_parameters`（適用された設定）、`search_information`、そして`organic_results`、`ai_overview`、`people_also_ask`、`local_results`など検索結果ページの各部分ごとのブロックです。存在しない部分は単に含まれません。1ページのコストは$0.30/1K検索から1クレジット。暗号資産で支払い、KYC不要です。

## Googleの完全なレスポンスはどのようなものですか？

以下の例はイギリスでの`standing desk`のGoogle検索で、各配列1件に短縮しています。実際のレスポンスには約10件のorganic結果と、その検索クエリ、地域、デバイスに対してページが表示したその他のすべてのブロックが含まれます。

*engine=google, gl=gb: 短縮した例示用の値*

```json
{
  "search_metadata": {
    "id": "srch_2b81d0c6fa47",
    "status": "success",
    "engine": "google",
    "created_at": "2026-10-22T10:02:31Z",
    "credits_used": 1
  },
  "search_parameters": {
    "engine": "google",
    "q": "standing desk",
    "gl": "gb",
    "hl": "en",
    "google_domain": "google.co.uk",
    "device": "desktop",
    "page": 1
  },
  "search_information": { "total_results": 52400000, "query_displayed": "standing desk" },
  "ai_overview": {
    "text": "A standing desk lets you work while standing or sitting…",
    "references": [
      { "index": 1, "title": "How to choose a standing desk", "link": "https://www.example.co.uk/guide", "source": "Example Guide" }
    ]
  },
  "ads": [
    { "position": 1, "block": "top", "title": "Electric Standing Desks", "link": "https://shop.example.com/desks", "displayed_link": "shop.example.com", "description": "Free delivery on…" }
  ],
  "organic_results": [
    {
      "position": 1,
      "title": "Best standing desks 2026, tested",
      "link": "https://www.example.co.uk/best-standing-desks",
      "displayed_link": "www.example.co.uk › reviews",
      "snippet": "We tested 14 electric and manual desks…",
      "date": "12 Oct 2026",
      "sitelinks": [ { "title": "Budget picks", "link": "https://www.example.co.uk/best-standing-desks#budget" } ]
    }
  ],
  "people_also_ask": [
    { "question": "Is it healthy to stand all day at a desk?", "snippet": "…", "title": "Standing at work", "link": "https://www.example.org/standing" }
  ],
  "shopping_results": [
    { "position": 1, "title": "Example Desk Pro 140 cm", "price": "£299.00", "source": "Example Store", "link": "https://shop.example.com/desk-pro" }
  ],
  "related_searches": [ { "query": "standing desk electric" }, { "query": "standing desk converter" } ],
  "pagination": { "current": 1, "next_page": 2 }
}
```

## レスポンスに一部のブロックが含まれないのはなぜですか？

検索結果ページに表示されなかったからです。広告、AI Overview、local pack、top storiesを表示するかどうかは、検索クエリ、場所、デバイスごとにGoogleが判断します。SerpCryptoはページに表示された内容を返し、それ以外は空のプレースホルダーを送るのではなく省略します。

以下のPythonの行のように、すべてのブロックをデフォルト値付きで読み取ってください。同じルールはブロック内にも当てはまります。`date`や`sitelinks`のような省略可能なフィールドは、それを持つ結果にのみ現れます。

*Python: 省略可能なブロックを安全に読み取る*

```python
data = response.json()

# A block is present only when the results page shows it: read with a default.
overview = data.get("ai_overview") or {}
organic = data.get("organic_results", [])
questions = [item["question"] for item in data.get("people_also_ask", [])]

if overview:
    print("AI Overview sources:", [ref["link"] for ref in overview.get("references", [])])
print(len(organic), "organic results,", len(questions), "questions")
```

## search_metadataには何が含まれますか？

| フィールド | 型 | 説明 |
| --- | --- | --- |
| `id` | string | 検索の識別子。サポートに問い合わせる際に引用してください。 |
| `status` | string | 200のレスポンスにおける`success`。 |
| `engine` | string | 検索を実行したエンジン。 |
| `created_at` | string | 検索時刻、UTCのISO 8601形式。 |
| `credits_used` | integer | この検索で消費されたクレジット: 成功時は1。 |

## search_parametersとsearch_informationとは何ですか？

結果と一緒に`search_parameters`を保存してください。どの国・言語・場所・デバイスからのランキングなのかが正確に記録されます。

| フィールド | 型 | 説明 |
| --- | --- | --- |
| `search_parameters` | object | 適用されたパラメータ（デフォルト値を補完）: `engine`、`q`、`gl`、`hl`、`location`、`google_domain`、`device`、`page`、および送信したその他のパラメータ。 |
| `search_information.total_results` | integer | エンジンが表示した場合の、表示された結果件数。正確な数値ではなく推定値です。 |
| `search_information.query_displayed` | string | 結果ページに表示された通りの検索クエリ。 |

## organic_results にはどのようなフィールドがありますか？

オーガニック結果は広告ではないWeb検索結果です。Bingでは、`organic_results`も同じ形をしています。

| フィールド | 型 | 説明 |
| --- | --- | --- |
| `position` | integer | このページのこのブロック内での結果の順序（1から開始）。 |
| `title` | string | 青いリンクのタイトル。 |
| `link` | string | 結果のURL。 |
| `displayed_link` | string | タイトルの下に表示されるURLまたはパンくずリスト。 |
| `snippet` | string | タイトルの下に表示されるテキスト。 |
| `date` | string | スニペットの横に表示される日付（ページに書かれている通り）。任意。 |
| `sitelinks` | array | 結果の下に表示される追加リンク。それぞれ`title`と`link`を持ちます。任意。 |

## AI Overview はどのように返されますか？

`ai_overview` は、その検索クエリと場所に対して Google が AI Overview を表示する場合にのみ存在します。多くの検索クエリでは表示されません。

| フィールド | 型 | 説明 |
| --- | --- | --- |
| `ai_overview.text` | string | ページに表示される通りの AI Overview のテキスト。 |
| `ai_overview.references[].index` | integer | 概要内の引用元の順序。 |
| `ai_overview.references[].title` | string | 引用されたページのタイトル。 |
| `ai_overview.references[].link` | string | 引用されたページのURL。 |
| `ai_overview.references[].source` | string | 表示される通りのサイト名。 |

## ads と people_also_ask には何が含まれますか？

| フィールド | 型 | 説明 |
| --- | --- | --- |
| `ads[].position` | integer | そのブロック内での順序。 |
| `ads[].block` | string | ページの`top`または`bottom`。 |
| `ads[].title`、`link`、`displayed_link` | string | 広告の見出し、ランディングURL、表示URL。 |
| `ads[].description` | string | 広告のテキスト。 |
| `people_also_ask[].question` | string | 表示されているとおりの質問。 |
| `people_also_ask[].snippet` | string | 質問を開いたときに表示される回答テキスト。 |
| `people_also_ask[].title`、`link` | string | 回答の参照元ページのタイトルとURL。 |

## 他にどのようなGoogleのブロックが表示されますか？

| ブロック | フィールド | 概要 |
| --- | --- | --- |
| `local_results` | `position`、`title`、`address`、`rating`、`reviews`、`type` | ローカルパック：場所に関する意図を持つ検索クエリに対して、地図上に表示されるビジネス情報。 |
| `knowledge_graph` | `title`、`type`、`description`、`source.name`、`source.link` | 人物、場所、企業、事物に関するナレッジパネル。 |
| `top_stories` | `title`、`link`、`source`、`date` | カルーセルで表示されるニュース記事。 |
| `inline_videos` | `title`、`link`、`source`、`duration` | Web検索結果内に表示される動画結果。 |
| `shopping_results` | `position`、`title`、`price`、`source`、`link` | Web検索結果内に表示される商品リスティング。 |
| `related_searches` | `query` | ページ下部に表示される検索候補。 |
| `pagination` | `current`、`next_page` | 現在のページ番号と、存在する場合は次のページ番号。 |

## 他のエンジンは何を返しますか？

各バーティカルは同じフレームを保ちつつ、独自の配列を追加します。Googleマップでは、`local_results`はWeb検索のローカルパックよりも情報が豊富です。

| `engine` | メイン配列 | フィールド |
| --- | --- | --- |
| `google_news` | `news_results` | `position`、`title`、`link`、`source`、`date`、`snippet`、`thumbnail` |
| `google_images` | `images_results` | `position`、`title`、`original`、`original_width`、`original_height`、`thumbnail`、`source`、`link` |
| `google_maps` | `local_results` | `position`、`title`、`place_id`、`address`、`phone`、`website`、`rating`、`reviews`、`type`、`hours`、`gps_coordinates.latitude`、`gps_coordinates.longitude` |
| `google_shopping` | `shopping_results` | `position`、`title`、`price`、`extracted_price`、`currency`、`source`、`link`、`delivery`、`rating`、`reviews` |
| `bing` | `organic_results`、`related_searches` | Googleのオーガニック検索結果と同じフィールド |

## 価格、評価、日付はどのような型で返されますか？

ページがテキストで書いていた値は、その形式をそのまま保ちます。`price`は通貨記号を含む文字列で、たとえば`£299.00`です。Googleショッピングでは`extracted_price`が数値、`currency`がコードとして追加されます。`rating`は数値、`reviews`は整数です。`date`のような日付は、たとえば`12 Oct 2026`や`3 days ago`のようにページに書かれたまま残るので、タイムスタンプが必要ならご自身のコードでパースしてください。

## 複数ページにまたがる総合順位はどう作ればいいですか？

各結果とともにページ番号を保存してください。`position`は1ページ内のブロックでの順序を示し、`search_parameters.page`はそれが何ページ目かを示します。1ページあたり約10件のオーガニック結果です。Googleは2025年9月にnum=100を尊重しなくなって以降、この件数を返しています。追加の各ページにはさらに1クレジットが必要です。

順位トラッキングでは、多くのチームがキーワードと日ごとに`link`、`position`、`page`、`gl`、`location`、`device`、`created_at`を保持しています。これで順位をグラフ化し、地域やデバイスによる変動を説明できます。詳しい方法は[順位トラッキング](https://serpcrypto.com/ja/use-cases/rank-tracking/)をご覧ください。

## レスポンス形式に関する質問

### フィールド名は安定していますか？

バージョン1の範囲では安定しています。新しいブロックやフィールドは追加される可能性があるため、知らないキーは無視してください。フィールドの削除や名前変更は、`/api/v2/`のようなパスでの新バージョンとして行われます。

### ページの生のHTMLは取得できますか？

いいえ。バージョン1はパース済みのJSONのみを返します。パース済みのブロックは、結果、広告、質問、AI Overview、ローカルパック、ナレッジパネルなど、ほとんどのツールが必要とする内容をカバーしています。

### total_resultsが自分で数えた数と違うのはなぜですか？

それは実際にページ送りできる結果の件数ではなく、検索エンジンが表示する推定値です。ページはその数よりずっと早く終わります。次のページが存在するかどうかは`pagination.next_page`で確認してください。

### オーガニック検索結果が無いレスポンスでもクレジットは消費されますか？

はい、検索が成功した場合は消費されます。空のページも結果です。無料なのはエラーのみです。1クレジット = 1回の成功した検索リクエストで、対応するすべてのエンジンで結果の1ページを返します。失敗したリクエストは課金されません。

---

SerpCrypto: SerpCryptoは、開発者とAIエージェント向けのSERP APIで、GoogleとBingの検索結果をJSONで返し、身分証明書のアップロードなしで暗号資産で支払えます。前払いの検索クレジットは$0.30/1K検索から購入でき、有効期限はありません。KYC不要 — 身分証明書もセルフィーも書類も不要。暗号資産で支払い。
