Every project eventually inherits the same spreadsheet: emails in three different cases, phone numbers formatted six ways, names like "DOE, john michael", and the same customer entered twice. Cleaning it by hand, or with a pile of regexes you don't quite trust, is nobody's favorite afternoon.
RecordScrub is a small API we built at DSP to do that job in one call. It's live on RapidAPI now, with a free tier.
What it does
- Email validation & normalization, single or batch, with valid/invalid stats and a plain-language reason for every rejection
- Phone normalization to E.164, powered by Google's libphonenumber, so
(312) 555-0142becomes+13125550142 - Name normalization,
"DOE, john michael"→John Michael Doe, with first/last split out - US address normalization, state codes, ZIP+4, standardized street suffixes
- Batch record cleaning, send CSV-style records, get snake_case keys, per-field cleaning, and exact dedupe on the fields you choose, with a duplicate report showing what was dropped and why
Every dropped or altered value comes back with a _warnings explanation. No silent data loss.
A taste
curl -X POST https://record-scrub.p.rapidapi.com/v1/normalize/phone \ -H "X-RapidAPI-Key: YOUR_KEY" \ -H "Content-Type: application/json" \ -d '{"phone": "(312) 555-0142"}' {"original": "(312) 555-0142", "normalized": "+13125550142", "valid": true, "country_code": 1, "national_format": "(312) 555-0142"} And the batch cleaner, deduplicating on email + phone:
{"records": [{"name": "John Doe", "email": "john@example.com", "phone": "+13125550142"}], "stats": {"received": 2, "returned": 1, "duplicates_removed": 1}, "duplicates": [{"index": 1, "duplicate_of": 0, "record": { "...": "..." }}]} How it's built
FastAPI, completely stateless. Requests are processed in transit and nothing is stored, so there's no database to leak from. It runs on a free-tier host, so the first call after a quiet spell can take a few extra seconds while it wakes up; after that it's fast.
Pricing
Every endpoint is available on every plan, including the free tier. No feature gates, no Pro-only cleaners, no endpoint held back to force an upgrade. Upgrading simply gets you more requests per month: start free with 100 requests a month, move up to Pro at $10/month for 5,000, and scale from there if your batch volume grows. You pay for volume, not for access.
Try it: https://rapidapi.com/darksundarker/api/record-scrub
Feedback very welcome, especially the "I wish it also cleaned X" kind. That's how the v2 list gets written.
