Skip to main content
POST
ChatGPT prompt (LLM Scraping API)
The POST /llm endpoint sends a ChatGPT prompt through the LLM Scraping API. You send prompt and optional countries. Access token: Generate your access token from the Bringits platform. Send it as a Bearer token on every call and in Try it.

Endpoint

https://unblocker.bringits.com/llm

Headers

In Try it, enter your JWT only in Authorize (token field). Do not paste the full Authorization header or duplicate the token in a Headers box.

Response headers

Rate-limit headers (X-RateLimit-*, Retry-After) are currently returned on POST /request 429 responses, not on /llm.

Request body parameters

How the request is handled

  1. Quota — Your monthly allowance is checked before the call.
  2. Location — When you send countries, the answer is fetched from that region. Omit countries and the call uses ["US"].
  3. Fresh request — Each call is independent; there is no session to reuse from a previous call.
  4. Answer — On success you receive the answer as JSON (response.text and response.markdown).

Response format

When the call succeeds, the HTTP status is 200 and the body is:

When a request fails

If the call does not succeed, the HTTP status is not 200 and the body is:
Treat any non-200 response as a failed call with "error": "REQUEST_FAILED". Use the HTTP status to decide next steps:
  • 400, 401, 403, 404, 422 — fix the prompt, JSON, token, or route. Do not retry the same request.
  • 429, 502, 503, and other non-200 server-side statuses — retry later with exponential backoff (for example 1s, 2s, 4s) and stop after a few attempts. /llm does not return Retry-After on 429.
Include x-request-id from the response headers when you contact support.

Usage example

On success, read response.text (and response.markdown) from the JSON body.

Best practices

  • Store the token in a secret instead of hardcoding.
  • Success vs failure: HTTP 200 means you got an answer in response.text. Any other status means the call failed with "error": "REQUEST_FAILED".
  • Retries: Retry only transient failures (429, 502, 503, and similar). Do not retry 400, 401, 403, 404, or 422 with the same payload. For repeated failures, contact support with x-request-id.
  • Overview – Token acquisition
  • Request – HTTP and browser requests (method + url)

Try it

Use the interactive Try it panel to send a real request.

Before you start

  1. Get a token – Generate your access token from the Bringits platform.
  2. Authenticate – Enter the token in Authorize (Bearer is applied automatically).
  3. Edit the body – Default: {"prompt":"...","countries":["US"]}.
  4. Send – Success: response.text on the LLM object.
Security: Do not share your token or commit it to code. Use the Authorize dialog only in your browser; the token is not stored in the documentation.

Authorizations

Authorization
string
header
required

Use Authorize and enter your tenant JWT in the token field only. The gateway validates the token and injects x-tenant-id from the tenantId claim; do not set x-tenant-id manually in production.

Body

application/json
prompt
string
required

Question to send to ChatGPT. Must be non-empty after trimming.

Minimum string length: 1
Pattern: .*\S.*
Example:

"What is the best proxy provider?"

source
enum<string>
default:chatgpt

LLM to query. Options: ChatGPT, Gemini (coming soon). Defaults to ChatGPT if omitted.

Available options:
chatgpt
Example:

"chatgpt"

countries
string[]

Optional ISO country codes. When set, the request is routed through that location. Defaults to ["US"] if omitted.

Example:

Response

ChatGPT answer. Outer HTTP 200 with the Bringits LLM object (response.text).

id
string
required

Request id (llm_ plus 12 uppercase hex characters from a UUID).

Pattern: ^llm_[0-9A-F]{12}$
Example:

"llm_A1B2C3D4E5F6"

source
enum<string>
required
Available options:
chatgpt
model
string | null
required

Reserved. ChatGPT does not expose a model id.

Example:

null

response
object
required
metadata
object
required