Submit multiple URLs for concurrent extraction
Queue a list of URLs for concurrent extraction and return a job_id immediately — this endpoint is asynchronous and does not wait for the work to finish.
Queue a list of URLs for concurrent extraction and return a job_id immediately — this endpoint is asynchronous and does not wait for the work to finish.
Poll GET /bulk/{job_id} for progress and results, or supply webhook_url to be notified on completion instead of polling. The response includes webhook_signing_secret the first time you use a webhook; store it, as it is shown once.
Individual URLs can fail without failing the job: each entry in results carries its own status, so a partial success is normal and is reported as a 200. The per-request URL cap depends on your plan.
Send Idempotency-Key to make retries safe — the same key with the same body returns the original job rather than queuing a second one. Metered as one request per URL submitted.
Authorization
BearerAuth Your API key, sent as Authorization: Bearer wm_.... Keys are wm_ followed by 40 hex characters. Create one with POST /register (free, no auth) or POST /keys.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://api.wellmarked.io/bulk" \ -H "Authorization: Bearer wm_your_api_key_here" \ -H "Content-Type: application/json" \ -d '{ "urls": [ "http://example.com" ] }'{ "completed": 0, "job_id": "453bd7d7-5355-4d6d-a38e-d9e7eb218c3f", "job_token": "string", "kind": "bulk", "results": [ { "blocks": [ { "level": 0, "text": "string", "type": "heading" } ], "chunks": [ { "end_token": 0, "start_token": 0, "text": "string" } ], "error": "string", "html": "string", "links": [ "string" ], "markdown": "string", "metadata": { "author": "string", "date": "string", "retrieved_at": "2019-08-24T14:15:22Z", "title": "string", "url": "string" }, "metrics": { "content_bytes": 0, "input_tokens": 0, "output_tokens": 0, "reduction_pct": 0, "tokens_saved": 0 }, "url": "string" } ], "status": "string", "total": 0, "webhook_signing_secret": "string"}Check your usage for the current billing period
Return the calling key's request count for the current billing period, the plan's included allowance, and when the counter resets.
Poll the status of a bulk extraction job
Return the current state of a bulk job: status, how many URLs have completed out of total, and the results collected so far.