Get one scrape session's status
status is completed once every submission in the session has left pending/processing — not necessarily "every item successfully merged"; see stats for the exact per-status breakdown. A session with stats.total: 0 is always processing, never completed, whether because nothing has arrived yet or (much later) because its submissions have already aged out of retention.
Authorization
bearerAuth Bearer token — see API Overview for how to get one and use it.
In: header
Path Parameters
uuidResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/me/scrapes/b1f8b6b0-2f7d-4a1a-9a3c-2f6d8e9a1234"{ "data": { "id": "b1f8b6b0-2f7d-4a1a-9a3c-2f6d8e9a1234", "status": "processing", "stats": { "total": 40, "pending": 12, "processing": 0, "merged": 28, "rejected": 0, "flagged": 0 }, "metadata": { "source_type": "bulk", "intent": "data", "url_count": 40 }, "created_at": "2026-08-04T10:15:00.000Z", "updated_at": "2026-08-04T10:16:42.000Z" }}List products GET
Returns one page of products matching the given filters. No single filter is required, but you should almost always pass at least one identifying parameter (`url`, `external_id`+`marketplace`, or `seller_code`) — otherwise you get a broad slice of the whole dataset.
Get a scrape session's products GET
The actual scraped data — "give me what I just scraped." Returns every submission in the session, not only merged ones: the background merge step runs on a schedule, so right after a scrape most items are still `pending`, with `product: null` until a later pass merges them. Poll `GET /me/scrapes/{id}` (or just re-request this endpoint) until `status` is `completed`. Billed against your daily quota only for rows that actually carry a merged `product` — a `pending` placeholder costs nothing.