Playground Sign in Start free
ChatGPT Scraper

Pull ChatGPT answers as structured data.

Submit a prompt, get a parsed response: answer text, citations, code blocks, and tables, all returned as typed JSON. We handle the session, the throttling, and the model selection.

15
credits / call
3.1s
p50 latency
gpt-5,4o,o3
models
GET /chatgpt
GET /chatgpt
  ?prompt=compare+GPT-5+and+Claude+4.5

→ 200 OK · 15 credits · 3.1s
{
  "recipe": "ChatGPT",
  "conversation": {
    "messages": [
      { "role": "user",      "content": "compare GPT-5 and Claude 4.5" },
      { "role": "assistant", "content": "GPT-5 leads on SWE-bench (74%)..." }
    ],
    "total_messages": 2,
    "user_messages": 1,
    "assistant_messages": 1
  }
}
Live playground

See it work, before you sign up.

Drop in a URL, run a real call against the live API, and watch the JSON come back in about a second. No API key required.

All current models

gpt-5, gpt-4o, o3, o3-mini, o1, gpt-4-turbo. We track new releases and route requests; you just pick the family.

Structured output

Set format:"structured" and we split the response into answer text, citations, code blocks, and tables. No regex. No HTML tag-soup.

Citations preserved

Web-search-enabled responses come back with the source URLs ChatGPT actually consulted, not just the bracketed [1][2] markers in the prose.

Streaming

Set stream:true and tokens flow back as they arrive. Identical interface to OpenAI's native stream, drop-in for existing UIs.

Conversation threads

Pass thread_id to continue a session. We persist context server-side; no need to ship the full history with every call.

No account, no rate limits

You don't need an OpenAI account, login, or your own quota. We pool capacity across our infrastructure and bill per-success only.

Drop-in code

Copy. Paste. Ship.

import { Ujeebu } from "ujeebu";
const uj = new Ujeebu(process.env.UJEEBU_KEY);

const { data } = await uj.chatgpt({
  prompt: "compare GPT-5 and Claude 4.5 on coding",
  model:  "gpt-5",
  format: "structured",
});

console.log(data.answer);
data.citations.forEach(c => console.log(c.url));
from ujeebu import Ujeebu
uj = Ujeebu(api_key=os.environ["UJEEBU_KEY"])

result = uj.chatgpt(
    prompt="compare GPT-5 and Claude 4.5 on coding",
    model="gpt-5",
    format="structured",
)
print(result["answer"])
for c in result["citations"]: print(c["url"])
curl -G https://api.ujeebu.com/chatgpt \
  -H "ApiKey: $UJEEBU_KEY" \
  --data-urlencode "prompt=compare GPT-5 and Claude 4.5"
const stream = await uj.chatgpt({
  prompt: "write a 500-word essay on...",
  model:  "gpt-5",
  stream: true,
});

for await (const chunk of stream) {
  process.stdout.write(chunk.delta);
}
What people build with it

Real things real teams shipped this quarter.

Answer-engine monitoring

Track how ChatGPT answers your brand and competitor queries. Daily cron, diff against yesterday, alert on shifts in cited sources.

AI visibility (GEO/AEO)

Generative Engine Optimization. Run thousands of buyer-intent prompts daily and measure which sources ChatGPT pulls into its answers.

Bulk evaluation

Run benchmark prompts at scale across gpt-5/4o/o3 in parallel. Concurrency and retry are ours; you get clean comparison rows.

In-app AI features

Power chat features inside your product without managing OpenAI keys, quotas, or model deprecations. Per-success billing matches your usage.

Ship ChatGPT Scraper tonight.

5,000 credits free. No card. Real residential proxies on the free tier.