Fetch real-time data from 100+ websites,No development or maintenance required.
Over 100 million real residential IPs from genuine users across 190+ countries.
SCRAPING SOLUTIONS
Get accurate and in real-time results sourced from Google, Bing, and more.
With 120+ prebuilt and custom scrapers ready for any use case.
No blocks, no CAPTCHAs—unlock websites seamlessly at scale.
Execute scripts in stealth browsers with full rendering and automation
PROXY INFRASTRUCTURE
Over 100 million real residential IPs from genuine users across 190+ countries.
Reliable mobile data extraction, powered by real 4G/5G mobile IPs.
For time-sensitive tasks, utilize residential IPs with unlimited bandwidth.
Fast and cost-efficient IPs optimized for large-scale scraping.
SCRAPING SOLUTIONS
PROXY INFRASTRUCTURE
DATA FEEDS
Full details on all features, parameters, and integrations, with code samples in every major language.
LEARNING HUB
ALL LOCATIONS Proxy Locations
TOOLS
RESELLER
Get up to 50%
Contact sales:partner@thordata.com
Products $/GB
Fetch real-time data from 100+ websites,No development or maintenance required.
Get real-time results from search engines. Only pay for successful responses.
Execute scripts in stealth browsers with full rendering and automation.
Bid farewell to CAPTCHAs and anti-scraping, scrape public sites effortlessly.
Dataset Marketplace Pre-collected data from 100+ domains.
Over 100 million real residential IPs from genuine users across 190+ countries.
Reliable mobile data extraction, powered by real 4G/5G mobile IPs.
For time-sensitive tasks, utilize residential IPs with unlimited bandwidth.
Fast and cost-efficient IPs optimized for large-scale scraping.
Data for AI $/GB
Pricing $0/GB
Docs $/GB
Full details on all features, parameters, and integrations, with code samples in every major language.
Resource $/GB
EN $/GB
产品 $/GB
AI数据 $/GB
定价 $0/GB
产品文档 $/GB
资源 $/GB
简体中文 $/GB
The most-requested migration story in web data is also the least documented: what it actually looks like when a team retires a hand-built e-commerce scraper that three engineers maintained for two years. This is that story, told as a farewell letter to the codebase — the honest account of what it cost, what finally triggered the retirement, and the checklist that made the handover boring.
You were our first serious infrastructure. We wrote you in a sprint, named you something cute, and for a season you were the reason the price-monitoring product existed at all. This letter is the post-mortem we owe you — because the way you left taught us more than the way you arrived.
We tracked your infra bill religiously: servers, bandwidth, proxy spend — a tidy four-figure line every month. What we never ran was the full accounting:
| Cost line | What we told finance | What was true |
|---|---|---|
| Infra | “Our data collection bill” | The smallest component |
| Engineering time | “Some maintenance” | ~0.8 FTE across two years, your parser suite alone |
| The outage ledger | “Occasional blips” | 14 incidents past midnight, target-side changes |
| Coverage erosion | Never mentioned | 3 of 20 marketplaces quietly degraded before anyone noticed |
| Hiring drag | Never counted | Our one senior slot spent on parser debugging, not the product |
The parser suite was the story we couldn’t see while we were in it: twenty targets, twenty codepaths, each one a bet that a layout would hold. Every target redesign was your way of collecting on our overconfidence.
The decision didn’t come from the accounting. It came from a launch: our product lead promised a client same-day coverage of a new marketplace, and the honest engineering answer was “three weeks — new parser, new anti-bot profile, new failure modes.” The three-week answer for a one-day promise is what forced the meeting. Cost arguments had lost that meeting for two years; the *calendar* argument won it in ten minutes.
We moved to a managed stack — Thordata’s Web Scraper API for the major marketplaces (120+ maintained targets, structured JSON/CSV/XLSX delivery, ~$0.50–$1.00 per 1,000 delivered results, billed on delivery rather than attempts), with the unlocker tier (~$1.00–$1.30 per 1,000 responses) for the two stubborn mid-tier targets you could never quite crack, and raw residential (published slider, $0.65–$2.00/GB by volume) for the genuinely simple long tail. The checklist that made it boring:
Two things survived the retirement, and both were yours: your monitoring discipline — block rates per target, per day, trended — became the acceptance criteria for the managed layer (a vendor you can’t measure is a vendor you can’t hold); and your observation-freshness metric — the age of the newest successful record per target — carried over unchanged, because that discipline was never about your code, it was about our data’s honesty.
The search-side monitoring joined the same month: our product’s category keywords, tracked through structured SERP collection, so demand signals and price signals landed in one warehouse. For the agent prototypes that followed, the same backend extends as an MCP endpoint the agents drive themselves — the Thordata MCP server exposes live search, request history, and usage stats as agent tools, and its 500-free-call tier made the experiment free.
The tell that it’s time isn’t cost — it’s the calendar argument: the next feature that requires a new target and gets a multi-week estimate for parser work alone. Run the full accounting (the table above, honestly), run the one-month parallel, and let delivered-records-per-dollar make the argument your cost dashboard never could.
We don’t miss you. But we kept what you taught us, and the agent era of our data stack was built on your monitoring discipline rather than in spite of you. Fair winds.
How long did the full migration actually take?
Six weeks including the parallel month — against the original internal estimate of “a quarter, probably two.” The managed layer’s maintained parsers did the compression: the engineering went from “write and defend a new parser per target” to “route and verify.”
Did any workload move back?
One: a target with a bespoke, negotiated data relationship where we kept custom collection deliberately. The retirement decision is per-workload, not existential — the beast’s replacement is a routing table, and one row of ours stayed custom by choice.
What would we do differently?
Run the full accounting in year one, not after the latency incident forced it. The 0.8 FTE was visible the whole time; we just priced it at zero because it wore the disguise of “maintenance.”
What about teams who need custom parsing anyway?
Keep it — for genuinely proprietary targets. The pattern worth avoiding isn’t custom code; it’s custom code for *standard* targets, paying engineering prices for shelf items. Route by rarity, give the agents live search through the MCP endpoint alongside the scraped corpus, and the stack stays honest at every layer.
Looking for
Top-Tier Residential Proxies?
您在寻找顶级高质量的住宅代理吗?
YouTube Dataset Comparison by Research Goal
Compare YouTube datasets by the research task, record type, available fields, refresh cadence, access method, cost, and reuse terms. The guide contrasts fixed research datasets with Thordata, Bright Data, and Apify options.
Unknown
2026-10-27
YouTube Dataset Providers: Ready-Made vs Custom
The guide compares Thordata, Bright Data, Apify, and Oxylabs by access model, YouTube fields, delivery, refresh options, and billing units. It recommends checking sample records and delivery terms before purchase.
Unknown
2026-10-27
How to Choose an Enterprise Video Data Provider
This guide compares search-result data, structured video records, and media delivery. It describes the fields, delivery terms, and pilot checks buyers can use to evaluate providers.
Unknown
2026-10-27
How to Get YouTube Transcripts Programmatically
This guide compares the official captions API, a Python transcript library, and managed scraping for retrieving YouTube captions. It covers missing captions, batch processing, and storing transcript text with timing and language.
Unknown
2026-10-27
A Practical Guide to Scaling Video Data Scraping
Scraping video data at scale s ...
Xyla Huxley
2026-10-27
爬蟲一直吃 403?先別換代理——認識 Unlocker 與 Scraper API 的分工
團隊被網站封鎖時的第一反應通常是「換代理、加重試」——把症狀 ...
Xyla Huxley
2026-10-27
SERP API in Python: A Working Developer’s Tutorial (With the Traps Marked)
“serp api python” is one of the highest-int […]
Unknown
2026-10-27
403, 429, and a Wall of CAPTCHAs: The Emergency Room Guide for Blocked Scrapers
Every scraping pipeline eventu ...
Xyla Huxley
2026-10-27
Your LLM Thinks It Knows Today: Choosing a Search API for AI Workloads
The race to build AI products ...
Xyla Huxley
2026-10-27