Official n8n community node for the WellMarked API — extract clean Markdown from any URL, crawl whole sites, run bulk jobs, and search the web from inside an n8n workflow.
In your n8n instance:
- Settings → Community Nodes → Install
- Enter
n8n-nodes-wellmarkedand click Install. - Restart n8n if your install requires it.
Or for self-hosted n8n via the CLI:
npm install n8n-nodes-wellmarkedRequires n8n 1.0+ and Node.js 20.15+.
Create a WellMarked API credential with your wm_... key. Get one at wellmarked.io. The credential test calls GET /usage, which validates the key without consuming any quota.
| Field | Description |
|---|---|
| API Key | Your WellMarked API key (wm_...). Stored encrypted by n8n. |
The node uses the standard n8n Resource + Operation model.
Output Format and Compliance Overrides (Allow Domains / Deny Patterns / Respect Robots) are available on the Extract, Bulk, Crawl, and Search operations. Output Format is one of markdown (default), json, chunks, html, or links — json and chunks require Pro+. A Retry count (extra re-attempts on target timeouts) is available on Extract, Bulk, and Crawl.
- Extract URL —
POST /extract. One URL in, one Markdown result out per input item.- Fields:
URL,Render JavaScript(Pro+),Output Format,Retry,Compliance Overrides.
- Fields:
For batches of URLs (Free: up to 5 per job; Pro: up to 50; Growth: up to 200; Enterprise: unlimited).
- Submit —
POST /bulk. Returns the job envelope (job_id,status: "queued", etc.) and continues immediately. Use this when you want to poll later or run other steps in parallel. - Get Status —
GET /bulk/{job_id}(polymorphic — also works on crawl job IDs). - Submit and Wait — submits, then polls every N seconds until done, then fans the results out as one n8n item per URL so downstream nodes process each extraction individually.
- Fields:
URLs,Render JavaScript(Pro+),Output Format,Retry,Compliance Overrides.
- Fields:
Same three operations against POST /crawl / GET /crawl/{job_id}. Plan caps: Pro is depth ≤ 5 and ≤ 2,000 pages; Growth is depth ≤ 10 and ≤ 10,000 pages; Enterprise is unlimited. Pages are processed concurrently by the API's worker pool.
- Fields:
Root URL,Depth,Render JavaScript(Pro+),Output Format,Retry,Max Pages,Compliance Overrides.Max Pagescaps how many pages the crawl bills — it can only narrow your plan's page cap. - Submit and Wait fans results out as one item per page.
- The output items include
depth(BFS distance from the root) and thetruncated/truncated_reasonfields when the crawl stopped early.
- Search —
POST /search. Search the web and extract every result to Markdown in one synchronous call; fans the results out as one n8n item per page. Requires Pro+. Costs1 + Number of Resultsrequests.- Fields:
Query,Number of Results(1–10, default 5),Render JavaScript(Pro+),Output Format,Compliance Overrides.
- Fields:
- Get Usage —
GET /usage. Returns plan, period, used / limit / remaining. Free; does not count against quota.
Submit and Wait blocks the n8n execution while polling. n8n workflows typically have a workflow timeout (default 30 min self-hosted, less on n8n Cloud); if your bulk batch or crawl might run longer than that, use Submit + a separate Get Status call in a follow-up step or scheduled workflow.
The default poll interval is 2 s and the default wait timeout is 300 s — both configurable on the node.
The WellMarked API supports outbound webhooks: pass a webhook_url on POST /bulk or POST /crawl and we POST a signed job.completed notification to your URL when the job finishes — no polling needed.
This node does not yet expose a Webhook URL field on the Submit operations — open an issue if you want it. In the meantime, a workflow that combines an n8n Webhook trigger with an HTTP Request node to POST /bulk (or /crawl) achieves the same:
- Add an n8n Webhook trigger node — n8n gives you a public URL.
- HTTP Request node →
POST https://api.wellmarked.io/bulkwith body{ "urls": [...], "webhook_url": "<the n8n webhook URL>" }and yourAuthorization: Bearer wm_...header. - The first response carries
webhook_signing_secret(shown once — store it as an n8n credential or env var). - In the webhook trigger's downstream flow, verify
X-WellMarked-Signatureagainst your stored secret before acting on the payload.
See the WellMarked Webhooks docs for the signature scheme, retry policy, and payload shape.
The node surfaces every WellMarked error code (rate_limit_too_fast, rate_limit_exceeded, target_timeout, plan_not_supported, etc.) as an n8n NodeApiError with the original message and HTTP status. Toggle Continue On Fail on the node if you want per-URL failures to emit { error: "..." } items instead of stopping the workflow.
The per-second rate limit (Free 5/s · Pro 20/s · Growth 100/s · Enterprise unlimited) surfaces as rate_limit_too_fast 429s. If you're polling status with tight intervals, set the Poll Interval above your tier's spacing (200 ms for Free, 50 ms for Pro, 10 ms for Growth) to avoid spurious rejections.
git clone https://github.com/WellMarkedAPI/n8n.git
cd n8n
npm install
npm run build # compiles to dist/ and copies icons
npm link # makes the package globally linkable
# In your n8n install dir:
cd ~/.n8n/custom
npm link n8n-nodes-wellmarked
# Restart n8n; the WellMarked node appears in the palette.Copyright © 2026 WellMarked. Released under the MIT License.
Source: https://github.com/WellMarkedAPI/n8n
Use of the hosted API at api.wellmarked.io remains subject to the
Terms of Service.