ChatGPT Scraper API

ChatGPT Scraper API

ChatGPT Replies as Structured JSON

Send a single prompt and get the full assistant reply back as parsed JSON. No login, no cookies, no session state. The streaming message envelope is assembled server-side and handed to you ready to use, complete with citations, model, and finish reason.

START SCRAPING FOR FREE

Start scraping today with 1000 free credits. No Credit Card Required

ChatGPT Scraper API
One Prompt In, One Clean Reply Out

One Prompt In, One Clean Reply Out

Send a prompt with a single `GET` request. Get back the full assistant reply, citations, and model metadata in one JSON envelope. No account to manage, no cookies to refresh, no streaming protocol to assemble.

Each call is stateless. Build prompt batches, evaluation harnesses, or research pipelines without juggling conversation IDs or session tokens. Pay only for replies that actually finish.

Citations and Metadata, Already Parsed

Citations and Metadata, Already Parsed

When the model cites sources, you get the resolved URLs in a `content_references[]` array on the message metadata. Inline citation delimiters are stripped from the visible text so `parts[0]` reads cleanly.

The envelope also includes `model_slug` (which ChatGPT model answered), `finish_details` (stop reason), `message.id`, and `conversation_id`. Everything you need to log, audit, or chain replies into a downstream pipeline.

How It Works

1

Select a Target

Prompt to Reply screenshot
2

Send API Request

import requests
import json

token = "<SDO-token>"

url = f"https://api.scrape.do/plugin/chatgpt/chat?token={token}&q=Explain+how+rainbows+form"

response = requests.request("GET", url)

print(json.dumps(response.json(), indent=2))
3

Get Structured JSON

JSON
{
  "data": {
    "message": {
      "id": "f0a2b1c4-1234-5678-9abc-def012345678",
      "status": "finished_successfully",
      "content": {
        "content_type": "text",
        "parts": [
          "Rainbows form when sunlight is refracted, reflected, and dispersed inside water droplets in the atmosphere..."
        ]
      },
      "metadata": {
        "model_slug": "gpt-5",
        "finish_details": { "type": "stop" },
        "content_references": [
          {
            "type": "webpage",
            "title": "How Rainbows Form, NOAA SciJinks",
            "safe_urls": ["https://scijinks.gov/rainbow/"]
          }
        ]
      }
    },
    "conversation_id": "9b8a7c6d-0011-2233-4455-667788990011"
  }
}
Plans & pricing

How many ChatGPT Scraper API calls per plan?

Every ChatGPT Scraper API call costs 10 credits. Here's what each plan buys you.

Free
$0
Credits
1,000
ChatGPT Scraper API
100
calls / month
Hobby
$29/mo
Credits
250,000
ChatGPT Scraper API
25,000
calls / month
Most popular
Pro
$99/mo
Credits
1,250,000
ChatGPT Scraper API
125,000
calls / month
Business
$249/mo
Credits
3,500,000
ChatGPT Scraper API
350,000
calls / month
Advanced
$699/mo
Credits
10,000,000
ChatGPT Scraper API
1,000,000
calls / month
Enterprise
Custom
Credits
Unlimited
ChatGPT Scraper API
Unlimited
calls / month

All plans include automatic anti-bot bypass, residential proxies, and a 99.98% success rate. See full plan details.

Scrape.do has been a game-changer with powerful scraping tools, but what truly sets them apart is their excellent customer support.

user avatar
Rogerio C.

CTO

timertimer
capterra best customer support
< 5 min

Average Response Time

No tickets connect with expert engineers.

like changelike change
99.98%

Success rate

hierarchyhierarchy
110 Million

Proxies

trellotrello
+40%

Faster gateway than the closest competitor.

  • Trustpilot Reviews
  • G2 Reviews
  • Capterra Reviews
  • scrapedo capterra most recommended
  • scrapedo capterra best ease of use
  • scrapedo capterra best value
  • capterra best customer support
  • scrapedo capterra front runners

Reliable, Scalable,Unstoppable Web Scraping

START SCRAPING FOR FREE

Frequently Asked Questions

The OpenAI API requires an OpenAI account, a paid plan, API key management, and per-token billing. This plugin scrapes the public chatgpt.com web product, so there is no OpenAI account to maintain on your side. Every successful call is a flat 10 credits, regardless of prompt length or model output. Useful when you want the same conversational answers the web app gives, not a separate production-grade contract with OpenAI.

Whichever model chatgpt.com serves to anonymous users at request time, returned to you as data.message.metadata.model_slug (e.g., gpt-5). The plugin doesn't let you pin a specific model. If you need model-level guarantees, the OpenAI API is the better fit.

No. Each request is stateless. To continue a conversation, include the prior context inside the new q. The conversation_id in the response is informational and not reusable across calls.

When the model cites sources, they come back in data.message.metadata.content_references[]. Each entry has a type (e.g., "webpage"), a title, and safe_urls[] with the resolved URLs. The visible reply text in parts[0] is already clean: inline citation delimiters are stripped server-side before the response is returned.

Yes. Very long prompts are rejected before any model call runs, so no credits are spent on them. For long-context tasks, summarize first or use the OpenAI API directly.

finish_details.type == "stop" is a normal completion. Other values indicate the model stopped early (for example at a tool-call boundary or a content filter). Always check this field if your downstream consumer needs guaranteed full replies.

The plugin returns standard 5xx for transient upstream issues. Retry once with a short backoff. Successful calls cost 10 credits; failed calls don't consume credits.

The ChatGPT API documentation covers the full request shape, the response envelope structure, every field on the message metadata, and the citation reference object.