# SERP API クイックスタート: curl、Python、Node.jsでの最初の検索

> curl、Python、Node.jsで最初のSerpCrypto SERP API検索を実行しましょう。APIキーを取得し、1つのendpointを呼び出し、JSONを読み、クレジットを確認します。KYC不要、暗号資産で支払い。

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

1つのHTTPS endpoint、1つのAPIキー、検索成功ごとに1クレジット。このページでは、アカウントを開設した状態からGoogle検索結果のパース済みページを取得するまでを案内し、その後はその他のすべてについてリファレンスへ誘導します。

**簡潔な回答 — SerpCryptoで最初のSERP APIリクエストを送るには？**

クレジットパックを購入し、ダッシュボードからAPIキーをコピーして、ヘッダー`Authorization: Bearer YOUR_KEY`を付けて`GET https://serpcrypto.com/api/v1/search?q=your+query`を送信します。**SerpCrypto**が検索結果ページをJSONで返し、検索が成功したときのみ1クレジットを消費します。10,000検索の費用は$7.50で、KYC不要で暗号資産で支払い、クレジットは失効しません。

## APIの概要

| 項目 | 値 |
| --- | --- |
| ベースURL | `https://serpcrypto.com/api/v1` |
| 検索 | `GET https://serpcrypto.com/api/v1/search` |
| クレジット | `GET https://serpcrypto.com/api/v1/credits`（無料） |
| 認証 | Authorizationヘッダー（Bearer）またはapi_keyクエリパラメータ内のAPIキー |
| エンジン | Google検索、Googleニュース、Google画像、Googleマップ（ローカル結果）、Googleショッピング、Bing |
| 課金 | 1クレジット = 1回の成功した検索リクエストで、対応するすべてのエンジンで結果の1ページを返します。失敗したリクエストは課金されません |
| クレジットの有効期限 | プリペイドの検索クレジットに有効期限はありません。未使用の検索は、使用するまでアカウントに残ります |
| フォーマット | HTTPS経由のJSON、UTF-8 |

## APIキーを取得するには？

4つのステップです。身分証明書、自撮り、書類は不要、メールアドレスも希望しない限り不要です。

1. **アカウントを開設する** — アカウント番号でログイン。メールは任意です。アカウント番号はパスワードマネージャーに保存してください。これがログイン情報です。
2. **暗号資産で入金する** — BTC, USDT, USDC, ETH, SOL, LTCで最低$25を送金してください。残高は支払いページに記載されたネットワーク確認の後に加算されます。
3. **クレジットパックを購入する** — $7.50で10,000検索あれば、すべてのエンジンをテストするのに十分です。より大きなパックでは料金が$0.30/1K検索まで下がります。料金をご覧ください。
4. **APIキーをコピーする** — 確認済みの暗号資産残高からクレジットパックを購入するとすぐに、APIキーがダッシュボードに表示されます。SERPCRYPTO_API_KEYという名前の環境変数に保存し、コードリポジトリには決して置かないでください。

## curlで最初の検索を実行するには？

APIキーを一度exportし、次にGETリクエストを1つ送信します。`--data-urlencode`を付けた`-G`フラグがクエリ文字列を組み立て、スペースやアクセント記号を自動でエンコードします。応答は単一のJSONドキュメントで、`jq`を使えばターミナルでも読みやすく表示できます。

この例では、デフォルトのエンジンであるGoogleに、英語で米国の結果を問い合わせます。`q`、`gl`、`hl`を変更して再実行してください。実行が成功するたびに1クレジットを消費します。

*curl + jq: 最初の3件のオーガニック結果*

```bash
export SERPCRYPTO_API_KEY="paste-your-key-here"

curl -sG "https://serpcrypto.com/api/v1/search" \
  -H "Authorization: Bearer $SERPCRYPTO_API_KEY" \
  --data-urlencode "q=best espresso grinder" \
  -d gl=us -d hl=en | jq '.organic_results[:3]'
```

## 同じ検索をPythonで実行するには？

任意のHTTPクライアントを使えます。`requests`では、パラメータを辞書として、APIキーをヘッダーで渡します。`raise_for_status()`は、APIキーが誤っている場合の`401`のようなエラー応答を、キャッチ可能な例外に変換します。

*requestsを使うPython 3.9+*

```python
import os

import requests

API_URL = "https://serpcrypto.com/api/v1/search"
API_KEY = os.environ["SERPCRYPTO_API_KEY"]

response = requests.get(
    API_URL,
    params={"q": "best espresso grinder", "gl": "us", "hl": "en"},
    headers={"Authorization": f"Bearer {API_KEY}"},
    timeout=60,
)
response.raise_for_status()
data = response.json()

print("credits used:", data["search_metadata"]["credits_used"])
for result in data.get("organic_results", [])[:3]:
    print(result["position"], result["title"], result["link"])
```

## Node.jsではどうですか？

Node.js 18以降には`fetch`が同梱されているため、パッケージは不要です。ファイルを`.mjs`拡張子で保存すると`await`をトップレベルで使えるので、`node first-search.mjs`を実行します。

*Node.js 18+（組み込みのfetch付き）*

```javascript
// first-search.mjs (Node.js 18 or later: fetch and top-level await are built in)
const API_URL = "https://serpcrypto.com/api/v1/search";
const params = new URLSearchParams({ q: "best espresso grinder", gl: "us", hl: "en" });

const response = await fetch(`${API_URL}?${params}`, {
  headers: { Authorization: `Bearer ${process.env.SERPCRYPTO_API_KEY}` },
});
if (!response.ok) {
  throw new Error(`HTTP ${response.status}: ${await response.text()}`);
}
const data = await response.json();

console.log("credits used:", data.search_metadata.credits_used);
for (const result of (data.organic_results ?? []).slice(0, 3)) {
  console.log(result.position, result.title, result.link);
}
```

## 残りのクレジット数を確認するにはどうすればよいですか？

同じAPIキーで`GET https://serpcrypto.com/api/v1/credits`を呼び出します。これは無料で、3つの数値を返します。残りのクレジット数、本日の使用クレジット数、そしてアカウントが同時に実行できる検索クエリ数です。各アカウントは同時に一定数の検索を実行できます。上限はダッシュボードに表示され、リクエストに応じて引き上げられます。

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

```bash
curl -s "https://serpcrypto.com/api/v1/credits" -H "Authorization: Bearer $SERPCRYPTO_API_KEY"
```

*回答（値は例）*

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

## 検索から何が返されますか？

どの回答も、すべてのエンジンで同じフレームを持ちます。`search_metadata`は検索が成功したかどうかと、使用したクレジット数を示します。`search_parameters`は、デフォルトを含め、適用された設定を繰り返します。続いて、検索結果ページのブロックごとに1つの配列またはオブジェクトが並びます（例: `organic_results` や `people_also_ask`）。

ブロックはページに表示される場合にのみ存在するため、デフォルト値を指定して読み取ってください。[レスポンス形式](https://serpcrypto.com/ja/docs/response/)のページで、各ブロックとフィールドについて説明しています。

*Googleの回答の形（短縮版、値は例）*

```json
{
  "search_metadata": { "id": "srch_7f3a9c2e41b8", "status": "success", "engine": "google", "credits_used": 1 },
  "search_parameters": { "engine": "google", "q": "best espresso grinder", "gl": "us", "hl": "en", "page": 1 },
  "search_information": { "total_results": 18600000, "query_displayed": "best espresso grinder" },
  "organic_results": [ { "position": 1, "title": "…", "link": "https://www.example.com/…", "snippet": "…" } ],
  "people_also_ask": [ { "question": "…", "snippet": "…", "link": "https://www.example.org/…" } ],
  "related_searches": [ { "query": "best espresso grinder under 300" } ],
  "pagination": { "current": 1, "next_page": 2 }
}
```

## 最初に使うパラメータはどれですか？

デフォルト値と許可される値を含む完全なリストは、[APIリファレンス](https://serpcrypto.com/ja/docs/search/)にあります。

| パラメータ | 例 | 動作 |
| --- | --- | --- |
| `q` | `best espresso grinder` | 検索クエリ。人が入力する形で指定します。必須です。 |
| `engine` | `google_news` | 検索するエンジンとバーティカル。デフォルトは`google`。 |
| `gl` | `de` | 検索結果の国。2文字で指定します。デフォルトは`us`。 |
| `hl` | `de` | インターフェースの言語。デフォルトは`en`。 |
| `location` | `Austin, Texas, United States` | ローカル検索結果用の都市レベルの地点。 |
| `device` | `mobile` | `desktop`（デフォルト）または`mobile`の結果。 |
| `page` | `2` | 検索結果ページ。1〜10。各ページは1クレジットです。 |

## 検索のコストはいくらで、いつ無料になりますか？

1クレジット = 1回の成功した検索リクエストで、対応するすべてのエンジンで結果の1ページを返します。失敗したリクエストは課金されません。1ページあたり約10件のオーガニック結果です。Googleは2025年9月にnum=100を尊重しなくなって以降、この件数を返しています。追加の各ページにはさらに1クレジットが必要です。不正なパラメータ、誤ったAPIキー、残高不足、アカウントの混雑によって拒否されたリクエストも無料です。また、クレジットエンドポイントへのすべての呼び出しも無料です。

価格は2026年10月時点で、10,000検索で$7.50から、最大のパックで$0.30/1K検索です。プリペイドの検索クレジットに有効期限はありません。未使用の検索は、使用するまでアカウントに残ります。[エラーページ](https://serpcrypto.com/ja/docs/errors/)には、各エラーコードと正しい再試行方法が記載されています。

## 次はどこへ進めばよいですか？

- [APIリファレンス: GET /search](https://serpcrypto.com/ja/docs/search/) — すべてのパラメータ、デフォルト、エラー
- [レスポンス形式](https://serpcrypto.com/ja/docs/response/) — JSONの各ブロックとフィールド
- [地域と言語](https://serpcrypto.com/ja/docs/locations/) — gl、hl、location、device
- [エラーとリトライ](https://serpcrypto.com/ja/docs/errors/) — コード、原因、バックオフ
- [Python](https://serpcrypto.com/ja/docs/python/) — requests、httpx async、CSVエクスポート
- [Node.js](https://serpcrypto.com/ja/docs/node/) — fetch、並行処理プール、ページネーション
- [curlとjq](https://serpcrypto.com/ja/docs/curl/) — 1行レシピ
- [MCPサーバー](https://serpcrypto.com/ja/docs/mcp/) — Claude DesktopとCursorでのWeb検索
- [LangChainとLlamaIndex](https://serpcrypto.com/ja/docs/langchain/) — エージェント向けの検索ツール
- [OpenAI function calling](https://serpcrypto.com/ja/docs/openai/) — ツールスキーマと呼び出しループ

## クイックスタートの質問

### SerpCryptoの公式SDKはありますか？

いいえ。ドキュメントには、HTTPS endpoint を直接呼び出す Python、Node.js、curl 向けのコピー＆ペースト可能なコードが用意されているため、インストールや最新の状態に保つ必要のあるパッケージはありません。HTTP クライアントがある言語ならどれでも同じように動作します。GET リクエスト1回、ヘッダー1つ、JSON の回答1つです。

### APIキーをURLに入れてもいいですか？

はい。`api_key=YOUR_KEY` は検索クエリパラメータとして機能するため、ブラウザでの簡単なテストに便利です。コードでは `Authorization: Bearer` ヘッダーを推奨します。URL はヘッダーよりも頻繁にログ、ブラウザ履歴、共有スクリーンショットに残るからです。

### KYCやクレジットカードは必要ですか？

いいえ。SerpCrypto では本人確認書類、自撮り、書類、カードのいずれも求められません。アカウント番号でログイン。メールは任意です。$25 からの最低チャージ額で BTC, USDT, USDC, ETH, SOL, LTC による支払いが可能です。

### 大きなパックを購入する前にテストするにはどうすればいいですか？

無料プランはありません。最小のパックでテストしてください。支払いは最低入金額から行われます。最低入金額に達するためだけに追加された分は、未使用であれば30日以内のリクエストでUSDTまたはUSDCで返金されます。最小のパックも最大のパックと同じ endpoint とエンジンで動作するため、それでテストすれば本番環境がどうなるかがわかります。

---

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