KYC不要 — 身分証、自撮り、書類は不要です。暗号資産で支払い: BTC, USDT, USDC, ETH, SOL, LTC
言語: 日本語
APIキーを取得

ドキュメント · APIリファレンス · バージョン1

SERP APIリファレンス: GET /search と GET /credits

SerpCrypto APIバージョン1の全パラメータ、デフォルト、エラーコード。ベースURL: https://serpcrypto.com/api/v1。すべてのリクエストはHTTPSを使用し、すべてのレスポンスはUTF-8のJSONです。

最終更新: · 3 分で読めます

簡潔な回答

SerpCryptoの検索エンドポイントはどのパラメータを受け付けますか?

GET https://serpcrypto.com/api/v1/searchは必須パラメータが1つ、qのみで、オプションが9つあります: engine、gl、hl、location、google_domain、device、page、safe、periodです。SerpCryptoはJSONを返し、全6エンジンで検索が成功するごとに1クレジットを消費します。エラーは無料です。パックは10,000検索で$7.50から、暗号資産で支払い、KYC不要です。

認証はどう行いますか?

APIキーは2つの方法のいずれかで送信します。推奨はヘッダーAuthorization: Bearer YOUR_KEYです。もう1つはクエリパラメータapi_key=YOUR_KEYで、ブラウザのタブで手軽に試すときに便利です。

キーが無い、間違っている、または失効している場合は401 invalid_api_keyを返し、料金はかかりません。ダッシュボードからいつでも作成・失効できるAPIキーので、スクリプトやサーバーごとに専用のAPIキーを発行し、他に影響を与えずに1つだけ失効させられます。

検索を実行

GET/api/v1/search

選択したエンジンで1回検索し、結果ページをJSONで返します。検索が成功すると、どのエンジンでも1クレジットを消費し、エラーはクレジットを消費しません。パラメータはクエリ文字列にURLエンコードして指定します。例はGoogleでテキサス州オースティンのコーヒー焙煎店を検索するもので、ID、件数、結果は説明用の例です。

認証: Authorization: Bearer API_KEYヘッダーのAPIキー。

パラメータ

名前場所型必須説明
qquerystringはい人が入力するのと同じ形式の検索クエリ。引用符やsite:などの検索演算子はクエリの一部です。
enginequerystringいいえgoogle(デフォルト)、google_news、google_images、google_maps、google_shopping、またはbing。
glquerystringいいえ結果の国: us、de、brなどの小文字のISO 3166-1 alpha-2コード。デフォルトはus。
hlquerystringいいえインターフェース言語: en、de、pt-BRなど。デフォルトはen。
locationquerystringいいえ都市レベルの地名で、City, Region, Countryの形式で記述します(例: Austin, Texas, United States)。ロケーションをご覧ください。
google_domainquerystringいいえ検索するGoogleドメイン(例: google.de)。デフォルト: glの国のドメイン。engine=bingの場合は無視されます。
devicequerystringいいえdesktop(デフォルト)またはmobile。
pagequeryintegerいいえ結果ページは1(デフォルト)から10まで。各ページは個別の検索として扱われ、1クレジットを消費します。
safequerystringいいえactiveは露骨な結果をフィルタリングします。off(デフォルト)はフィルタリングしません。
periodquerystringいいえ過去1時間(h)、1日(d)、1週間(w)、1か月(m)、1年(y)以内の結果のみ。
api_keyquerystringいいえAuthorizationヘッダーを送信しない場合に使用するAPIキー。

レスポンス 200

{
  "search_metadata": {
    "id": "srch_7f3a9c2e41b8",
    "status": "success",
    "engine": "google",
    "created_at": "2026-10-22T09:14:05Z",
    "credits_used": 1
  },
  "search_parameters": {
    "engine": "google",
    "q": "coffee roasters",
    "gl": "us",
    "hl": "en",
    "location": "Austin, Texas, United States",
    "google_domain": "google.com",
    "device": "desktop",
    "page": 1
  },
  "search_information": {
    "total_results": 18600000,
    "query_displayed": "coffee roasters"
  },
  "local_results": [
    {
      "position": 1,
      "title": "Example Coffee Roasters",
      "address": "123 Example St, Austin, TX",
      "rating": 4.7,
      "reviews": 312,
      "type": "Coffee roasters"
    }
  ],
  "organic_results": [
    {
      "position": 1,
      "title": "The 12 best coffee roasters in Austin",
      "link": "https://www.example.com/austin/coffee-roasters",
      "displayed_link": "www.example.com › austin › coffee",
      "snippet": "From light Nordic roasts to dark espresso blends, these local roasters…",
      "date": "Sep 30, 2026"
    },
    {
      "position": 2,
      "title": "Example Roasting Co. | Fresh beans, roasted in Austin",
      "link": "https://www.example.org/",
      "displayed_link": "www.example.org",
      "snippet": "Small-batch coffee roasted every weekday and shipped the same day…"
    }
  ],
  "people_also_ask": [
    {
      "question": "What is the oldest coffee roaster in Austin?",
      "snippet": "…",
      "title": "Austin coffee history",
      "link": "https://www.example.net/austin-coffee-history"
    }
  ],
  "related_searches": [
    {
      "query": "coffee roasters near me"
    },
    {
      "query": "coffee roasters austin wholesale"
    }
  ],
  "pagination": {
    "current": 1,
    "next_page": 2
  }
}

コード例

curl
curl -sG "https://serpcrypto.com/api/v1/search" \
  -H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
  --data-urlencode "q=coffee roasters" \
  --data-urlencode "location=Austin, Texas, United States" \
  -d gl=us -d hl=en -d device=desktop
Python
import os

import requests

r = requests.get(
    "https://serpcrypto.com/api/v1/search",
    params={
        "q": "coffee roasters",
        "location": "Austin, Texas, United States",
        "gl": "us",
        "hl": "en",
    },
    headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
    timeout=60,
)
r.raise_for_status()
print(r.json()["organic_results"][0]["link"])
Node.js
const params = new URLSearchParams({
  q: "coffee roasters",
  location: "Austin, Texas, United States",
  gl: "us",
  hl: "en",
});
const res = await fetch("https://serpcrypto.com/api/v1/search?" + params, {
  headers: { Authorization: "Bearer " + process.env.SERPCRYPTO_API_KEY },
});
const data = await res.json();
console.log(data.organic_results?.[0]?.link);

engineにはどのような値があり、それぞれ何を返しますか?

フレーム(search_metadata、search_parameters、search_information)はすべてのengineで共通です。ブロックはページに表示される場合にのみ含まれます。

engineソース回答内の主なブロック
googleGoogle検索ai_overview、organic_results、ads、people_also_ask、local_results、knowledge_graph、top_stories、inline_videos、shopping_results、related_searches、pagination
google_newsGoogleニュースnews_results: タイトル、リンク、ソース、日付、スニペット、サムネイル
google_imagesGoogle画像images_results: 元のURLとサイズ、サムネイル、ソースページ
google_mapsGoogleマップlocal_results: 名前、住所、電話番号、ウェブサイト、評価、レビュー、カテゴリ、営業時間、座標
google_shoppingGoogleショッピングshopping_results: タイトル、価格、抽出価格、通貨、販売店、配送、評価
bingBingorganic_results、related_searches

クレジット残高を確認する

GET/api/v1/credits

アカウントの残高に残っているクレジット、UTCの0時以降に使用したクレジット、アカウントが同時に実行できる検索数を返します。この呼び出しは無料です。以下の値は例です。

認証: Authorization: Bearer API_KEYヘッダーのAPIキー。

レスポンス 200

{
  "credits_remaining": 84210,
  "credits_used_today": 1290,
  "concurrency_limit": 10
}

コード例

curl
curl -s "https://serpcrypto.com/api/v1/credits" \
  -H "Authorization: Bearer $SERPCRYPTO_API_KEY"
Python
import os

import requests

r = requests.get(
    "https://serpcrypto.com/api/v1/credits",
    headers={"Authorization": "Bearer " + os.environ["SERPCRYPTO_API_KEY"]},
    timeout=30,
)
r.raise_for_status()
print(r.json()["credits_remaining"])
Node.js
const res = await fetch("https://serpcrypto.com/api/v1/credits", {
  headers: { Authorization: "Bearer " + process.env.SERPCRYPTO_API_KEY },
});
const { credits_remaining } = await res.json();
console.log(credits_remaining);

APIはどのようなエラーを返しますか?

すべてのエラーにはボディ{"error": {"code": "…", "message": "…"}}が付きます。エラーページで各エラーの説明とリトライコードを確認できます。

HTTPcode発生条件課金
400invalid_parameter必須パラメータが欠けている、または値が許可リスト外いいえ
401invalid_api_keyAPIキーが欠けている、誤っている、または無効化されているいいえ
402insufficient_creditsアカウントのクレジット残高がゼロいいえ
429concurrency_limitアカウントで同時に実行中の検索が多すぎるいいえ
502search_failedこのリクエストでengineまたは収集が失敗した。リトライしてくださいいいえ
504search_timeout時間内に応答がない。リトライしてくださいいいえ

正確には何が課金されますか?

  • 検索1回の成功 = 1クレジット、すべてのengineで、GoogleマップやGoogleショッピングも含みます。
  • 各結果ページは検索1回分です。 1ページあたり約10件のオーガニック結果です。Googleは2025年9月にnum=100を尊重しなくなって以降、この件数を返しています。追加の各ページにはさらに1クレジットが必要です。
  • エラーは無料: HTTPステータスが200以外の応答はクレジットを消費しません。
  • クレジット残高の確認は無料。

プリペイドの検索クレジットに有効期限はありません。未使用の検索は、使用するまでアカウントに残ります。クレジットパックは$7.50から10,000検索まで、最大のパックでは$0.30/1K検索です。料金をご覧ください。

検索クエリはどのようにエンコードすればよいですか?

他のクエリ文字列の値と同様、qをURLエンコードして送信します。スペースは%20または+になり、アクセント付き文字はUTF-8でエンコードされます。curlでは--data-urlencode、Pythonのrequestsとhttpxではparams=、Node.jsではURLSearchParamsで行えます。

検索クエリは、人が検索ボックスに入力するのとまったく同じように記述します。引用符、マイナス記号、site:はq内にそのまま残します。engineが訪問者に対するのと同じように、それらの適用方法を判断します。

APIにはバージョンがありますか?

はい。バージョンはパスの一部です: /api/v1/。バージョン1の応答に新しいフィールドやブロックが追加されることがあるため、コードは未知のキーを無視するようにしてください。フィールドの削除や名前変更は、v1への変更ではなく、パスに新しいバージョンを付けて行われます。

APIリファレンスに関する質問

JSONボディ付きのPOSTリクエストは送れますか?

バージョン1ではできません。両方のendpointはクエリ文字列にパラメータを付けたGETリクエストを受け付けます。これにより、すべての呼び出しをcurlやブラウザで簡単に再現でき、ボディなしで簡単にログに記録できます。

1回の検索で何件の結果が返りますか?

1ページあたり約10件のオーガニック結果です。Googleは2025年9月にnum=100を尊重しなくなって以降、この件数を返しています。追加の各ページにはさらに1クレジットが必要です件です。30件の結果を集めるには、page=1、page=2、page=3をリクエストします。3回の検索で、3クレジットです。

クレジットがなくなるとどうなりますか?

次の検索は402 insufficient_creditsを返し、クレジットは消費しません。料金ページで残高から別のパックを購入してください。APIキーはそのまま機能し、検索はすぐに再開されます。

同じAPIキーを複数のサーバーから使えますか?

はい。APIキーはIPアドレスに紐づきません。制限されるのは、アカウントで同時に実行される検索数です。GET /creditsのconcurrency_limitがその数値を示します。

$0.30/1K検索から · KYC不要

APIキーを取得