Skip to main content
Skip to content
ScrapingBuddyDevelopers
On this page Overview

Scraping API/API reference

Get classification results

Retrieve batch progress and all per-URL decisions.

01 / Request

Make a request

GET/api/v1/scraping/classifications/{id}

Use the batch ID and a key belonging to the same account. Poll at least 10 seconds apart. Returns 202 while queued or running, and 200 when completed or review.

Read every item.status before using its label. Stop polling a terminal batch, including review; do not automatically resubmit uncertain work. Results expire per item 24 hours after starting-page collection.

Required headers
AuthorizationstringRequired
Bearer followed by your ScrapingBuddy customer API key.

Path parameters

idUUID v4Required
The batch ID, originally supplied as Idempotency-Key. Unknown, invalid or another account's batch returns 404.

02 / Response

Understand the response

Success returns HTTP 202 while work is active, otherwise 200 with JSON. Inspect item outcomes even when the batch is completed.

batchobject
The batch object described below. Inspect each item.status before using its answer.
pollAfterSecondsinteger
10. Wait at least this long before checking progress.

Batch object

idUUID v4
The Idempotency-Key supplied when creating the batch. Item task IDs are different from the batch ID.
statusstring
queued or running while work remains; completed or review when terminal. completed does not guarantee every item was classified.
requestobject
Normalized urls, question, choices and any optional companyContext, depth, maxPages or webSearch. Keep private context out of shared logs.
createdAtISO timestamp
When the batch was created.
totalinteger
Number of unique normalized URLs in the batch.
completedinteger
Number of terminal items, including failed, refused, review, cancelled and expired items. Not a success count.
classifiedinteger
Number of items with a usable classified answer. Expired results are no longer included.
itemsarray
All result items in original URL order, after deduplication. Omitted from batch history summaries.

Result item

idUUID v4
Generated task ID for this URL; not the batch ID. Get /scraping/tasks/{id} for collected content, analysis usage, research details and contentExpiresAt.
positioninteger
One-based position after URL normalization and deduplication.
urlstring
Normalized starting page URL.
statusstring
queued, processing, classified, insufficient_evidence, refused, failed, review, expired or cancelled.
labelstring | null
Exactly one supplied choice when status is classified; null otherwise. Never interpret null as No.
confidencenumber | null
Model confidence in its selected outcome, including an insufficient-evidence outcome. Null for refusal or when no decision is available. Not a guarantee of correctness; check status and label first.
probabilitiesarray
Entries {label, probability} for your choices when a choice response is available; otherwise []. Probabilities are model estimates.
insufficientEvidenceProbabilitynumber | null
Estimated probability for the system insufficient-evidence option. Separate from a user-provided Maybe label.
modelstring | null
Server-managed model used for the decision, when available.
sourceUrlsstring[]
Collected source URLs used by the analysis. Not independently verified citations for the decision. Empty when unavailable or expired.
warningstring | null
Partial collection, source-readiness or input-truncation warnings.
errorobject | null
code and message for a collection or analysis failure. Cancelled entries use BATCH_CANCELLED.
billingobject
customerChargeUsd and heldUsd are decimal USD strings for this item. Holds are not extra charges; completed paid steps remain charged after cancellation or expiry.

Errors & next steps

Request errors return an HTTP error status and a top-level error string. Processing failures appear in batch.items[].error even when fetching the result succeeds.

New tasks and batches require $1 available balance; insufficient starting credit returns 402. All customer keys share 60 requests per minute per account. For 429, honor Retry-After; active-task and daily limits may require a longer wait.

Scraping API v1
Scraping referenceCreate a taskGet a task & resultList task historyCreate a classification batchGet classification resultsList classification batchesStop queued classification URLs

Explore the documentation

Scraping APIIntroduction

Public pages, HTML, Markdown, deep research, bulk classification, wallet billing and first integration.

GuidesBulk classification

One question, your own answer labels, and a separate machine-readable result for each website.

GuidesYour first scrape

Go from a public URL to saved page content in four steps.

GuidesAuthentication & access

Connect your server with your customer API key and understand public-page access.

GuidesAI analysis & company context

Extract information, summarize a page or assess relevance with optional OpenAI analysis.

GuidesFormats & page readiness

Choose the content format and when the page is ready to collect.

GuidesTask lifecycle & retention

Know when to poll, when to save content and when to stop.

GuidesSafe retries

Recover a lost response without accidentally creating another task.

GuidesErrors, limits & billing

Understand request failures, task failures and usage-based billing.

POST /scraping/tasksCreate a task

Collect a public page, with optional single-page or deep analysis. During the current testing stage, a valid customer API key is enough to create a public-page task; separate accou

GET /scraping/tasks/{id}Get a task & result

Read task progress and retrieve content when it is ready. Fetch the saved task ID with the same account that created it. Wait at least 6 seconds between progress checks. This reque

GET /scraping/tasksList task history

Find your recent tasks, newest first, without downloading page content. Returns up to 10 tasks per page, ordered by creation time and ID, plus hasMore. Request offset=0, then 10, t

POST /scraping/classificationsCreate a classification batch

Ask one question across up to 100 URLs and constrain answers to your own labels. Send a saved UUID v4 Idempotency-Key and JSON body of at most 256 KiB. The key becomes batch.id. An

GET /scraping/classifications/{id}Get classification results

Retrieve batch progress and all per-URL decisions. Use the batch ID and a key belonging to the same account. Poll at least 10 seconds apart. Returns 202 while queued or running, an

GET /scraping/classificationsList classification batches

Read paginated batch summaries and current classification availability. Returns up to 10 batches, newest first, without items. Use offset=0, then 10, then 20 while hasMore is true.

POST /scraping/classifications/{id}/cancelStop queued classification URLs

Stop batch items that have not started; let in-flight work finish. Send Authorization only; no request body or new Idempotency-Key is required. Repeating cancellation is safe. Only