The request every tool sends
POST https://dedupe.dev/api/dedupe
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
{"mode":"lines","data":"a@x.com\nb@y.com\na@x.com","options":{"ignoreCase":true}}
The response carries result, kept and removed. Swap in
rows mode for CSV or json mode for arrays; the reference
documents every option, and a free key covers 1,000 rows a month for wiring things up.
Zapier
- Add an action step: Webhooks by Zapier → Custom Request.
- Method
POST, URLhttps://dedupe.dev/api/dedupe. - Data: the JSON body above, with your list mapped into
data. - Headers:
Authorization=Bearer YOUR_API_KEYandContent-Type=application/json.
The step's output gives later steps result (the deduplicated data), kept
and removed.
Make (Integromat)
- Add an HTTP → Make a request module.
- URL
https://dedupe.dev/api/dedupe, methodPOST, body type Raw, content type JSON. - Request content: the JSON body above. Add the
Authorizationheader. - Enable Parse response so
resultmaps into the next module.
n8n
n8n gets its own page with two ready-made imports, including a pipeline that dedupes and then validates a mailing list in one run. The short version: import the minimal workflow (Workflows → Import from File). It contains a manual trigger, a sample-data node you replace with your real source, and an HTTP Request node already configured for the endpoint; paste your key into the request's Authorization header (or move it into an n8n credential) and run. Self-hosted n8n keeps everything on your infrastructure except the one call to the API.
Where this pattern fits
Anywhere a flow accumulates a list before acting on it: dedupe form submissions before they reach
the CRM, clean a mailing list before the send step, drop repeated webhook payloads by ID with
json mode and options.key. The step is stateless, so it dedupes within
what you send it; flows that need "have I ever seen this before" memory across runs should keep
using their tool's built-in storage for that part.
FAQ
Frequently asked questions
Do I need a paid Zapier or Make plan?
The dedupe step itself is one HTTP call, which Zapier's Webhooks action, Make's HTTP module, and n8n's HTTP Request node all do on their free tiers. Whether the rest of your flow fits a free tier depends on the rest of your flow.
Which mode should the flow use?
rows for CSV text (with options.keyColumns to pick the identity column), lines for plain lists like an email column joined with newlines, json for arrays of records your flow already holds as structured data.
Is there a native Zapier or Make app?
Not yet, deliberately: the endpoint is one POST, so the built-in webhook modules already do everything a native app would, without another integration holding your API key. If a native app would genuinely help you, say so via /contact.
What happens when the flow sends too much?
The API refuses with a clear JSON error rather than truncating: 413 for oversized or over-cap requests, 429 when a quota or rate limit is hit, each with the limit in the body. Errors are never billed, so a misconfigured flow costs requests, not units.
Last updated