ChatGPT スクレイパー API:AI の回答と引用を JSON 形式で
Advanced Data Extraction Specialist
TL;DR:
- ChatGPTスクレーパーAPIがモデルの回答を構造化されたJSONに変換します。
scraper.chatgptアクターへの1回のPOSTで、応答テキスト、背後にある引用、およびChatGPTが参照したウェブ検索結果がフィールドとして返されます — スクリーンショットではなく。 - 2つの入力が全体を実行します。
promptが質問を持ち、任意のcountryがその市場の居住者の応答にピン留めされ、実際のユーザーがそこで見るであろう回答をキャプチャします。 - 引用はチャート化する準備が整っています。
content_referencesは、すべての引用されたソースをタイトル、URL、出典と共にリストし、パースステップなしで引用割合追跡のための原材料となります。 - エンベロープは変わりません。 すべての呼び出しは
{ status, task_id, task_result }を返し、他のScrapeless LLMアクターと同じ形状で、ChatGPTのために書かれたラッパーはGrok、Gemini、Perplexity、Copilotに対しても変わらず拡張されます。 - ブラウザを監視する必要はありません。 レンダリング、セッション管理、プロキシ回転はサーバー側で実行され、
x-api-tokenヘッダーを持つ1つのエンドポイントを呼び出し、JSONを読み取ります。 - 無料で始められます。 新しいScrapelessアカウントには無料トライアルクレジットが含まれています — app.scrapeless.comでサインアップしましょう。
はじめに: 答えが新しい結果ページです
ChatGPTは商品に関する質問に直接回答します:バイヤーが最高のヘルプデスクツール、最高のCRM、最高のプロキシプロバイダーを尋ねると、短い合成された推奨といくつかの引用元が返されます。2ページ目はありません。その回答にブランドが名指しされていれば、お客様に対しては認識される可能性がありますが、見えない場合は無視されます。
この変化は新しいデータニーズを生み出しました。ランキングを追跡していたチームは、今やモデルが何と言ったのかを説明する引用を持ち、ストレージ、差分、そして時間の経過に伴うチャート化が必要です。ブラウザでチャットインターフェースを操作してそれをキャプチャすることは、ログインの壁、ストリーミング応答、そして予告なしに変わるマークアップを意味します。
scraper.chatgptアクターは、この問題を1つのHTTPリクエストに圧縮します:プロンプトが入って、構造化された回答が出ます。このガイドではリクエストの形式、応答のスキーマをフィールドごとに、実行可能なPythonクライアント、および同じパターンをAI回答の領域全体に拡張する補助アクターについて説明します。ツールカテゴリ自体のランクのあるビューのためには、最高のLLMスクレーパーガイドがChatGPTを他のプラットフォームと共にカバーしています。
これでできること
- 引用割合の追跡。 固定されたプロンプトセットをスケジュールで実行し、ChatGPTが各質問に対してどのドメインを引用するかをカウントします — ランク追跡に代わるGEOメトリック。
- ブランドの言及監視。 購入に関する質問の回答が自社製品の名前を挙げ始めたり、やめたりする時を検出し、どのソースにその言及が遡るのかを特定します。
- 競合回答分析。 モデルが市場全体と時間ごとに製品カテゴリをどのように説明しているかをキャプチャし、サポートリンクをデータとして利用します。
- マルチロケールキャプチャ。 回答を異なる国にピン留めし、横に並べて比較します — ロケールは回答や引用を変化させます。
- コンテンツ戦略フィードバック。 実際に引用されるあなたのページを見て、どのプロンプトのために引用されるかを推測するのではなく、確かめます。
- データセットの構築。 プロンプト、回答、引用のトリプルをクリーンなJSONとして収集し、下流の分析や評価のパイプラインで使用します。
なぜScrapeless ChatGPTスクレーパーなのか
scraper.chatgptアクターは、Universal Scraping APIライン内のScrapeless LLM Chat Scraperファミリーの一部です。AIの回答をファーストクラスのターゲットとして扱います:
- 1つのリクエスト、構造化された出力。 ドライブするブラウザ、再構成するストリーミング、パースするDOMは不要 — アクターはチャットサーフェスをサーバー側でレンダリングし、パースされたフィールドを返します。
- データとしての引用。
content_referencesは、引用された各ソースを個別のオブジェクトとして保持します。回答本文はインラインの引用マーカーを保持するため、2つを結合することができます。 - 国別にピン留めされた居住者のエグレス。 195以上の国際的な住宅プロキシを通じて走り、ロケール特有の回答が各市場に対して再現可能です。
- 1つのトークン、1つのエンベロープ、5つのプラットフォーム。 同じ
x-api-tokenと{ status, task_id, task_result }の契約がChatGPT、Grok、Gemini、Perplexity、Copilotアクターをカバーします。
完全なパラメータリファレンスはLLM Chat Scraperドキュメントにあります。
前提条件
- スクラペレスのアカウントとAPIキー — app.scrapeless.comでサインアップしてください。
- クイックテストには
curl、または以下のクライアントにはPython 3.10+を使用してください。 - HTTPとJSONに基本的な理解が必要です。
キーを環境に保存して、コードに埋め込まれないようにします:
bash
export SCRAPELESS_API_KEY=your_api_token_here
ChatGPTスクレーパーの動作
アクターの名前を指定し、入力を渡し、ヘッダーにキーを送信します。
- エンドポイント:
POST https://api.scrapeless.com/api/v2/scraper/execute - アクター:
scraper.chatgpt - 認証ヘッダー:
x-api-token: $SCRAPELESS_API_KEY
リクエストパラメータ
| 入力フィールド | 必須 | 説明 |
|---|---|---|
prompt |
はい | ChatGPTに送る質問 |
country |
いいえ | 実行の居住的な出口を示す2文字の国コード(例: US) |
curlでのクイックキャプチャ
bash
curl -sS -X POST https://api.scrapeless.com/api/v2/scraper/execute \
-H "Content-Type: application/json" \
-H "x-api-token: ${SCRAPELESS_API_KEY}" \
-d '{
"actor": "scraper.chatgpt",
"input": { "prompt": "最高のウェブスクレイピングツールは何ですか?", "country": "US" }
}'
レスポンスエンベロープ
json
// illustrative sample — schema from a live scraper.chatgpt run; values abridged
{
"status": "success",
"task_id": "7218e510-…",
"task_result": {
"prompt": "最高のウェブスクレイピングツールは何ですか?",
"model": "gpt-5-5",
"result_text": "最高のツールは使いどころによります… ([source][1])",
"content_references": [
{ "title": "…", "url": "https://…", "attribution": "…" }
],
"search_result": [
{ "title": "…", "url": "https://…", "snippet": "…", "attribution": "…" }
],
"links": [],
"products": null,
"web_search": false
}
}
フィールドごとの説明:
| フィールド | 型 | 役割 |
|---|---|---|
status |
文字列 | 完了した実行時のsuccess |
task_id |
文字列 | 実行の識別子、自身のストアの監査キーとして利用可能 |
task_result.prompt |
文字列 | ChatGPTが受け取ったプロンプト |
task_result.model |
文字列 | 応答したモデル(最近のキャプチャでは例: gpt-5-5) |
task_result.result_text |
文字列 | マークダウン形式の完全な回答、インライン引用マーカーを保持 |
task_result.content_references[] |
配列 | 各引用元は { title, url, attribution } の形式 |
task_result.search_result[] |
配列 | ChatGPTが回答のために参照したウェブ検索結果 |
task_result.links[] |
配列 | 回答によって示された生のリンク(存在する場合) |
task_result.products |
配列 | null |
無料プランでAPIキーを取得するには: app.scrapeless.com
PythonにおけるAPIの統合
完全なクライアント: プロンプトを送信し、エンベロープを確認して、引用テーブルを印刷します。
python
import os
import requests
ENDPOINT = "https://api.scrapeless.com/api/v2/scraper/execute"
def ask_chatgpt(prompt: str, country: str = "US") -> dict:
resp = requests.post(
ENDPOINT,
headers={
"Content-Type": "application/json",
"x-api-token": os.environ["SCRAPELESS_API_KEY"],
},
json={"actor": "scraper.chatgpt", "input": {"prompt": prompt, "country": country}},
timeout=180,
)
resp.raise_for_status()
return resp.json()
if __name__ == "__main__":
data = ask_chatgpt("最高のウェブスクレイピングツールは何ですか?")
result = data.get("task_result", {})
refs = result.get("content_references") or []
print(f"status={data.get('status')} model={result.get('model')} citations={len(refs)}")
for i, ref in enumerate(refs, 1):
print(f" [{i}] {ref.get('attribution', '')}: {ref.get('title', '')[:60]} → {ref.get('url', '')[:60]}")
回答の本文はresult.get("result_text")にマークダウン形式で保持されます。引用作業では、上記のループが通常の全作業となり、印刷されたURLをドメイン別にグループ化し、カウントします。
AI回答の残りのための補完アクター
同じエンドポイント、ヘッダー、エンベロープが隣接するプラットフォームをカバーします — アクター名とプラットフォーム固有のフィールドが1つまたは2つ変わるだけです:
scraper.grok— 必須の推論modeを追加し、別々のweb_search_resultsおよびx_search_results引用パネルを返します。scraper.gemini— ChatGPTと同じ2フィールド入力;result_textとcitations配列を返します。scraper.perplexity— 必須のcountryとweb_searchフラグを受け取り;web_results、media_itemsおよび関連プロンプトを返します。scraper.copilot— 同じ契約の下でCoPilotの回答として提示されます。scraper.overview/scraper.aimode— GoogleのAIオーバービューブロックとAIモードタブ; AIオーバービューガイドはそのペアを端から端までカバーします。
料金体系は使用量に基づいており、サインアップ時に無料トライアルクレジットがあります。現在の料金プランは料金ページに掲載されています。
一般的な問題を避ける方法
- 一部のプロンプトで空の
content_references。 ChatGPTはすべての回答に対して出典を引用するわけではありません。意見に基づいたプロンプトや純粋に生成的なプロンプトは、引用なしで返されることがあります。出典を追跡するためには、リサーチを行う買い手のようにプロンプトをフレーズ化します(「Yに対してのベストX」)。これにより、信頼性の高いウェブに基づいた回答を引き出します。 - 回答は実行ごとに異なる。 同じプロンプトが数分ごとに異なる回答と出典セットを生成する場合があります。この変動は、あなたが測定している現象です。全てのキャプチャを
task_idとタイムスタンプで保存し、シリーズ全体を信号として扱います。一回の実行ではなく。 - 各フィールドをnullableとして扱う。
productsはショッピングプロンプト以外ではnull、linksはしばしば空であり、引用カウントも実行ごとに変動します。固定された形状を主張するのではなく、存在するものを読み取ります。 - 国を意図的に固定する。 固定されていない実行は1つの回答をキャプチャしますが、固定された実行はあなたが重要視する市場に対しての回答をキャプチャします。保存された記録に
countryの値を保持し、系列が比較可能であるようにします。
結論:回答を1行の依存関係として
ChatGPTの回答をキャプチャすることは1つのリクエストに減少します:POST { actor: "scraper.chatgpt", input: { prompt, country } } にあなたのx-api-tokenを持ち、回答にはresult_textを、出典にはcontent_referencesを読み取り、そのペアをtask_idと共に保存します。同じクライアントが、プロンプトセットとスケジュールを指して、引用のプログラムになります。コンパニオンアクターを指すと、AI回答の全体的なカバレッジになります。
あなたのAI回答データパイプラインを構築する準備はできましたか?
無料プランを主張し、AI回答パイプラインを構築している開発者とつながるためにコミュニティに参加してください:Discord · Telegram。
無料トライアルクレジットのためにapp.scrapeless.comにサインアップし、scraper.chatgptアクターをプロンプト、マーケット、およびあなたのモニタリングプログラムに必要なスケジュールに向けて設定してください。
FAQ
Q: ChatGPTの回答をスクレイピングすることは合法ですか?
アクターは公開されている回答コンテンツをキャプチャします。ルールは管轄によって異なり、プラットフォームの利用規約によっても異なるため、関連する利用規約をレビューし、あなたの使用ケースに関して弁護士に相談してください — 特にキャプチャされた回答を再配布する前に。GDPRやCCPAで保護されている個人データを収集しないでください。
Q: どのように認証しますか?
すべてのリクエストはヘッダーx-api-token: <your key>を持ちます。1つのアカウントキーは、scraper.chatgptおよび他のすべてのScrapelessアクターで機能します。app.scrapeless.comで無料プランの下でキーを作成してください。
Q: プロキシは必要ですか?
いいえ。居住者の出口とジオルーティングはアクターに組み込まれています — 入力のcountryが全体の設定です。
Q: countryは実際に何を変えますか?
実行のための居住者出口市場。ChatGPTの回答と引用は地域に敏感であるため、DEに固定された実行は、同じプロンプトに対してUSに固定された実行とは異なる製品名と異なる出典を示す可能性があります。
Q: 引用をクリーンなリストとして取得するにはどうすればよいですか?
task_result.content_referencesを読みます — 各エントリは{ title, url, attribution }です。テキスト解析は不要です;result_text内のインラインマーカーは、引用を文にアンカーする必要がある場合のみ存在します。
Q: SDKやAIエージェントなしでこれを実行できますか?
はい。これは単純なHTTPです — curl、Pythonのrequests、Nodeのfetch、または任意のHTTPクライアントが直接POST /api/v2/scraper/executeに対して機能します。SDKは必要ありません。
Q: 同じコードはGrokやGeminiでも機能しますか?
エンベロープと認証は同一です;アクター名を交換し、プラットフォーム固有の入力フィールドを調整します(Grokにはmodeが必要で、Perplexityにはcountryが必要です)。task_resultのキーはプラットフォームごとに異なるため、各アクターごとにマッピングしてください。
Scrapelessでは、適用される法律、規制、およびWebサイトのプライバシーポリシーを厳密に遵守しながら、公開されているデータのみにアクセスします。 このブログのコンテンツは、デモンストレーションのみを目的としており、違法または侵害の活動は含まれません。 このブログまたはサードパーティのリンクからの情報の使用に対するすべての責任を保証せず、放棄します。 スクレイピング活動に従事する前に、法律顧問に相談し、ターゲットウェブサイトの利用規約を確認するか、必要な許可を取得してください。



