Blog
Field notes on enrichment
Mostly things we got wrong first. Outcome distributions from real traffic, rate limits that ignore your request rate, and what happens when a provider goes dark. Subscribe by RSS.
Latest
Store the raw payload, not just the fields you parse today
The cheapest decision in any enrichment integration is keeping the whole response. It costs bytes, it survives vendors, and it means you never pay for the same call twice.
All posts
- When your enrichment provider goes dark A vendor's failure rate went 0.3%, 7.1%, 45.6%, 82.9%, 98.1%, then 100% over six weeks. We read it as our own bug the whole time. What we should have been watching.
- Rate limits that have nothing to do with your request rate Our heaviest day ran 19,154 calls and was never throttled. A day running 201 calls was throttled 64% of the time. Why tuning a throttle against 429 is usually wasted work.
- What 130,220 enrichment API calls taught us Seven weeks of logged calls against a third-party enrichment API, and what the outcome distribution actually said about data quality, retries, and instrumentation.
Built from these lessons
Multiple independent sources, documented merge precedence, and provenance on every record.