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. The period is anchored to your subscription date, not the calendar month, so `resets_at` is the authoritative value to schedule against. This endpoint is unmetered — checking your usage never consumes quota.
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
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/usage"{ "limit": 0, "period": "string", "plan": "string", "remaining": 0, "used": 0}Extract clean Markdown from a URL
Fetch a single URL and return its main content as clean Markdown, with the navigation, ads, cookie banners and boilerplate stripped. This is the synchronous endpoint: one URL in, extracted content out, in a single round trip. For many URLs use `POST /bulk`; to follow links from a starting page use `POST /crawl`. `format` selects the output shape — `markdown` (default), `json` (typed blocks), `chunks` (pre-split for embedding), `html`, or `links`. `json` and `chunks` are Pro+ features, as is `render_js`, which runs the page through a headless browser first for client-side-rendered sites. Costs one request against your monthly quota.
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. 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.