Wire
Pre-built API actions for popular websites — scrape, browse, and extract structured data
Run pre-built automation actions across hundreds of popular websites. Each action handles browser rendering, authentication, and structured data extraction. Jobs are processed asynchronously — submit a task and poll for results.
How It Works
- Discover an action — list catalogs or search to find an
action_idand its parameter schema - Submit a task — call
POST /v1/wire/taskwith theaction_idand your parameters - Poll for results — use the returned
job_idto check status and retrieve data
Browse available actions from the Wire dashboard or via the discovery endpoints below.
Endpoints
/v1/wire/catalogList Catalogs — every supported website with its action count
/v1/wire/catalog/{slug}Catalog Details — single catalog plus its full action list & schemas
/v1/wire/searchSearch Actions — find an action_id by query, catalog, or category
/v1/wire/taskExecute Task — run a pre-built action and get a job ID
/v1/wire/jobs/{id}Get Job Status — poll for status and retrieve results
Identities & credentials
An identity is a named account on a website (e.g. "Personal Amazon", "Work Amazon"). Each identity holds one or more credentials (cookies, API keys, etc.) — the encrypted auth data needed to run tasks as that account.
To use multi-auth: list your identities, copy the credential_id you want, pass it as credential_id on POST /v1/wire/task. Identities and credentials are typically created via the Wire dashboard; for credentials-mode catalogs (email/password sign-in), API consumers can also sign in directly with POST /login.
/v1/wire/identitiesList all your identities (or one by ID) with their credentials inline
/v1/wire/loginCreate Identity / Login — find-or-create an identity and sign in (password or vault locator) in one call
/v1/wire/credentials/verifyVerify Identity / Re-Login — refresh the saved login for an identity (vault-sourced or manual)
Identity sources
An identity source is a connection to a vault you own — 1Password or Azure Key Vault — that Wire reads credentials from at sign-in time, so no password is typed into Wire. The secret never enters Wire's database: it's read into memory for a single login run and dropped. What's stored is a pointer to it.
Start with Provider Setup — creating the service account or service principal that grants Wire read access. The rest of the lifecycle is available over the API, and also from the dashboard.
/v1/wire/identity-sources/providersList connectable providers and the fields each one needs
/v1/wire/identity-sourcesConnect a vault — verified before anything is stored
/v1/wire/identity-sourcesList your connected sources
/v1/wire/identity-sources/{id}One source, plus how many identities depend on it
/v1/wire/identity-sources/{id}Rename or rotate the credential — bindings survive
/v1/wire/identity-sources/{id}/verifyRe-test the stored credential and refresh its health
/v1/wire/identity-sources/{id}Disconnect, keeping or deleting the sourced identities
/v1/wire/identity-sources/{id}/identitiesList the identities sourced from a connection
Browse a connected vault to find the entry to bind. Both endpoints are provider-agnostic — a container is a 1Password vault or an Azure Key Vault; an entry is a login item or a secret:
/v1/wire/identity-sources/{id}/containersList containers the source can read
/v1/wire/identity-sources/{id}/containers/{container_id}/entriesList (domain-filtered) entries in a container
Then bind: pass source_id and a source_ref to POST /v1/wire/login.
Build new actions
Need an action for a site that isn't in the catalog yet? Request a build — Wire generates a scraper from your description, auto-tests it, and publishes it so you can run it with POST /task.
/v1/wire/build-requestRequest a Build — generate a brand-new action for a site that isn't in the catalog yet
Errors
Common error responses on POST /v1/wire/task:
| Status | Code | When | Action |
|---|---|---|---|
401 | AUTH_REQUIRED | Action needs auth and you have no credential for this catalog | Visit the connect_url in the response to connect your account |
401 | AUTH_EXPIRED | The credential_id exists but its session is no longer valid (cookies expired, token revoked, password changed) | Have the user reconnect — GET /identities will show status: "expired" on the credential |
403 | FORBIDDEN | The credential_id doesn't belong to you, or belongs to a different catalog than the action | Re-fetch valid credential IDs via GET /v1/wire/identities |
402 | INSUFFICIENT_CREDITS | Your account balance can't cover the action's credits_per_call | Top up credits or use a smaller-cost action |
500 | EXECUTION_FAILED | Transient submission failure — engine couldn't enqueue the task. Credits are not deducted | Retry the request; if it persists, contact support |