Session completion webhook
We send this once a scrape session's status flips to completed — no polling needed. The payload is a pointer, not the merged data itself: fetch url (a normal GET /me/scrapes/{id}/products call, same Bearer auth, same daily quota) to actually retrieve it. Subscriptions are created from the extension's options page, not this API — see the Webhooks guide for subscribing, signature verification, and retry behavior.
Header Parameters
Value in
- "scrape_session.completed"
HMAC-SHA256 over ${timestamp}.${rawBody}, using your subscription's own signing secret — see the guide for how to verify it.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
The body of the scrape_session.completed webhook — a pointer, not the merged data itself. See url below.
Response Body
Example Requests
The body of the scrape_session.completed webhook — a pointer, not the merged data itself. See url below.
/scrapeSessionCompletedList sellers GET
At least one identifying parameter is required: `tin`, `psrn`, `url`, or `marketplace`+`seller_id` together. Returns an array — not guaranteed to be a single result, since the same legal entity can sell under one TIN on more than one marketplace.
FAQ and Troubleshooting
Answers to frequently asked questions about the Market Ninja extension. Solving problems with parsing, limits, and payment.