Compatibility and supporting endpoints
These routes support existing integrations. Use the catalogue reference to choose a scraping API. All routes below require a Browsable API key and access to the owning team.
Legacy Instagram requests
POST /v1/instagram/scrape is a compatibility route. For new integrations, use Instagram public profile or Instagram feed. The feed API uses a connected website account.
The legacy route accepts either username for a public profile, or sessionId plus csrfToken and optional userId for an authenticated feed. It accepts count (default 12) and after. Supplying both modes, or neither, returns HTTP 400. It uses a legacy response format rather than the standard task run envelope. Keep credentials on your server; migrate to the connected-account API for new work.
Authentication-flow status
GET /v1/auth/invocations/{id} requires website_logins.manage. Pass an invocation ID from an authentication flow, rather than an account or task ID. It returns an invocation object with id, status, provider, domain, platform, hosted_url, live_view_url, expires_at, flow_status, step, failure_code and failure_message. Links and failure fields may be null. A missing or inaccessible invocation returns 404.
For account connection setup and cancellation, see website logins, including /v1/website-logins/invocations/{id}.
Integration image assets
POST /v1/integration-assets requires tasks.run. Send PNG, JPEG or WebP bytes with the matching Content-Type. The maximum size is 20 MiB, and the file contents must match the declared type. Alternatively send application/json with a url from an allowed import origin; arbitrary external URLs are not accepted. Invalid images and unavailable imports return HTTP 400 with error.code and error.message.
A successful upload returns HTTP 201 with assetId, mimeType, sizeBytes, url and expiresAt. Default retention is 30 days; use the returned expiry as authoritative. Assets are private to the team.
GET /v1/integration-assets/{id} requires runs.read and returns the image bytes. Add ?download=1 to request an attachment, or ?format=json for a signed asset reference. An expired or unavailable asset cannot be loaded; upload a replacement.
Cancel a supported integration run
POST /v1/runs/{id}/cancel requires tasks.run. Supply the run UUID in the URL; no request body is required. This route supports integration runs with cancellation support. It is not a universal cancel route for every scraper or downloader.
Success returns run_id, status, run_status and cancelled. Invalid run identities return 400. Missing/inaccessible runs return 404; an unsupported cancellation returns 409. Inspect the returned state rather than assuming the work stopped immediately.