Why this needs proxies at all
Enrichment is many small requests to the same few domains - exactly the shape rate limiters are built to catch. From a single IP you get maybe a few hundred rows before the responses turn into 429s and blocks. Spreading the requests across residential IPs turns the same job into ordinary traffic.The setup
One proxy per source, so you can see per-source cost and stop one without touching the others:I am enriching 40,000 company records from three sources. Create a proxy for each, name them after the source, cap each at 25 GB a month, and give me the connection strings.
Rotating versus sticky
Enrichment is the case where the default behaviour is what you want. Without asession parameter, each request gets a fresh IP - which is exactly right for independent lookups.
Reach for a sticky session only when a single record needs several requests in sequence: a search, then a detail page, then a sub-page. Then hold the IP for that record and drop it:
Watching the cost while it runs
Enrichment jobs have a habit of costing more than the estimate. Ask mid-run:How much traffic and money have the three enrichment proxies used today?
Country matters more than you think
Many sources return different data by visitor location: local pricing, regional availability, translated fields. If your records are European, enriching them through US exit IPs quietly gives you the wrong values. Set the country in the username per batch:When the run is done
The Q3 enrichment run is finished. Deactivate the three enrich_ proxies.Deactivation stops the traffic and keeps the resource, so the next run reuses the same names and the same history. The agent will not delete them unless you explicitly ask.
Next steps
Price Monitoring
The same shape, run on a schedule instead of once.
Provisioning & Cost Control
Keeping a long job inside a budget.