Last revised 2026-07-27. Using dedupe.dev means you accept these terms. If you do not, the honest answer is not to use it.
1. Who this is between
"We", "us" and "dedupe.dev" mean Zen Acquire LLC. "You" means the person using the service, and if you are using it for an organisation, that organisation as well, and you confirm you are allowed to accept these terms on its behalf.
2. What the service is
Three things, and they behave differently:
- The browser tools at dedupe.dev. They run in your browser, need no account, cost nothing, and are not metered. We do not undertake to keep them free forever as a contractual promise, but charging for them is not the plan and never has been: they cost us nothing to serve.
- The HTTP API at
https://dedupe.dev/api/dedupe. Metered, documented on the API page, and the thing paid plans buy more of. - The account and dashboard at /app: your API keys, your job history and your billing.
3. Your account
An account is one email address. Sign in is a one time link sent to that address, valid for 30 minutes, which means whoever controls the mailbox controls the account. Keep the mailbox secure. You are responsible for what happens under your account and for keeping your API keys secret. If a key leaks, revoke it at /app/keys; revocation is immediate.
You must be old enough to form a contract where you live, and you may not use the service if we have previously terminated your account.
4. Acceptable use
Do not:
- Send us data you do not have the right to send, including personal data you are not permitted to process.
- Use the service to build a list for unsolicited bulk email, or to enrich, deanonymise or re-identify people who have not consented to it.
- Upload anything unlawful, or use the service to break a law that applies to you.
- Work around quotas: sharing one key across unrelated customers, creating multiple free accounts to multiply the free allowance, or scripting signups.
- Attack the service. That includes denial of service, attempting to access another account's data, and scanning or testing our systems without permission. Good faith security research is welcome and has its own route, described on the security page.
- Resell the API as a substantially similar deduplication service under your own brand. Using it inside your product is fine and is what it is for.
5. API quotas and rate limits
Your plan sets a monthly allowance of billable units, a maximum size for a single request, and a burst rate limit. The current numbers are on the pricing page and in the API reference, and the software enforces exactly those numbers, from the same source the pages are generated from.
- A unit is one row of up to 1 KB. A request costs
max(rows, bytes / 1024)units, so splitting a file across more calls does not make it cheaper. - Allowances reset on the 1st of each month, UTC, and belong to the account rather than to any one key. They do not roll over.
- Over the monthly allowance you get HTTP 429 and the call is not processed. Over the per request
size or unit cap you get 413. Too many requests too quickly gets 429 with a
Retry-Afterheader. - A request we refuse is not billed. 401, 413 and 429 responses consume no units.
- The burst rate limiter is enforced best effort in server memory, so in practice you may occasionally get slightly more than the published rate. Do not design around that. The monthly allowance is the real meter and it is counted in the database.
We may change quotas and prices. If a change reduces what an existing paid plan gets, we will email you before it takes effect and you can cancel.
6. Paid plans and billing
- Payments are handled by Stripe. We never see your card details.
- Plans are subscriptions, billed monthly or annually in advance, in US dollars, and they renew automatically until you cancel. Prices shown on the pricing page exclude any tax that may apply to you.
- Cancel any time from /app/billing, which opens the Stripe customer portal. When the subscription ends, your account drops back to the Free plan automatically. Your data is not deleted by cancelling; only the allowance changes.
- Refunds. Subscription fees are non refundable, including for partial periods and for unused allowance. The free tier exists so you can find out whether the API works for you before paying anything, and it is not time limited. If we have made a billing mistake, or something on our side stopped the service working and you paid for a period you could not use, email support@dedupe.dev and we will put it right. Consumer law where you live may give you cancellation or refund rights that this paragraph cannot take away, and it does not try to.
- Failed payments. If a renewal fails, Stripe retries it on its usual schedule and emails you. If it keeps failing, the subscription ends and the account returns to the Free plan.
- Deleting your account does not cancel your subscription. Cancel in the billing portal first. This is stated on the deletion screen too.
7. Your data stays yours
You keep every right you have in the data you process here. We claim no ownership of it and no licence to use it for anything beyond running the service you asked for. We do not use your data to train models, and we could not: the browser tools never send it to us, and the API does not keep it. What we do hold is described in the privacy policy, and you can export or delete it yourself at any time.
8. Availability
There is no uptime commitment and no service level agreement. We do not promise the service will be available, uninterrupted, or error free, and we may change, suspend or discontinue any part of it. If we discontinue a paid plan we will give notice by email and stop billing you.
If your pipeline cannot tolerate an outage, handle non-200 responses and back off. The API page has runnable retry code.
9. Disclaimer of warranties
The service is provided "as is" and "as available". To the fullest extent the law allows, we disclaim all warranties, express or implied, including merchantability, fitness for a particular purpose, title and non infringement.
In particular: deduplication is a heuristic when it is fuzzy and a definition when it is exact, and neither is a guarantee that the output is what you wanted. Exact matching removes rows whose selected columns are byte identical after the normalisation you chose. Fuzzy matching scores similarity above a threshold you set and will sometimes merge two different people or keep two records for one. Check the output before you overwrite the source. Nothing here is a warranty of data accuracy.
Some jurisdictions do not allow the exclusion of certain warranties, in which case the exclusions above apply only as far as that law permits.
10. Limitation of liability
To the fullest extent the law allows:
- We are not liable for indirect, incidental, special, consequential, punitive or exemplary damages, or for lost profits, lost revenue, lost business, or loss or corruption of data, however caused.
- Our total aggregate liability arising out of or relating to the service is limited to the greater of the amount you actually paid us in the 12 months before the event giving rise to the claim, or US$50.
Nothing in these terms excludes liability that cannot lawfully be excluded, including for fraud, or for death or personal injury caused by negligence. Some jurisdictions do not allow these limits, in which case they apply as far as that law permits.
Given the limit above, the practical advice is the same as the one on the security page: keep your own copy of anything you cannot afford to lose, and do not send us data whose loss you could not absorb.
11. Indemnity
If someone brings a claim against us because of the data you put through the service or because you broke these terms, you agree to cover our reasonable costs of dealing with it.
12. Suspension and termination
You can stop at any time: cancel your subscription, delete your account, or simply stop calling the API.
We may suspend or terminate an account that breaks section 4, that is being used to attack or degrade the service, or where we are legally required to. Where it is reasonable and lawful to do so, we will tell you why and give you a chance to fix it first. If we terminate a paid account for reasons other than a breach by you, we will refund the unused portion of the current period.
13. Changes to these terms
We may revise these terms. The revision date at the top and bottom of this page always says when. Material changes will be emailed to account holders before they take effect, and continuing to use the service after that means you accept them. If you do not, cancel and stop using it.
14. General
- These terms, plus the privacy policy, are the whole agreement between us about the service.
- If a court finds a clause unenforceable, the rest stays in force.
- Not enforcing something once does not waive it.
- You may not transfer your rights under these terms without our consent. We may transfer ours to a successor of the business, on notice.
- Nothing here creates a partnership, agency or employment relationship.
15. Governing law
These terms are governed by the laws of the State of Ohio, and the courts of the State of Ohio have exclusive jurisdiction over any dispute, without affecting any right you have as a consumer to bring proceedings in your own country of residence.
16. Contact
Questions about these terms: support@dedupe.dev, or the contact page.
Last updated