1.Product shape comparison
Smartproxy teams often start with proxies directly in Scrapy or requests, then add Site Unblocker when targets harden. OmniScrape assumes you want the unlock layer first. proxies are a field on the same /v1/scrape call.
2.What Smartproxy does well
Approachable pricing and documentation for mid-market buyers. Site Unblocker simplifies protected fetches without building your own solver stack. Proxy pools work well when you already manage fetch logic and only need clean IPs.
- Mid-market friendly proxy pricing
- Site Unblocker for anti-bot without full browser ops
- Good docs for proxy username/password integration
- Familiar brand for teams graduating from datacenter pools
3.Where teams struggle
Proxies and Site Unblocker are separate SKUs. two sets of credentials, two usage views, more glue code in your middleware.
URL-encoded unblocker patterns encourage putting targets in query strings alongside tokens. harder to audit than JSON POST bodies.
Without per-request mode metadata in your app logs, you may not know whether a page needed full render or would have worked on a fast path.
4.OmniScrape differences
One API key, one dashboard log stream: Web Unlocker calls show mode (fast / js_rendering), cost, and status together.
Auto mode tries HTTP before browser. Smartproxy unblocker solves protection but teams still benefit from knowing when js_rendering was necessary via metadata.method_used.
Per-success billing on unlock with billing.charged in the response JSON. Pair with price monitoring metrics for unit economics.
5.Side-by-side request bodies
Move the target URL from query encoding into JSON. Move token to X-API-Key header.
1234567891011121314151617# Smartproxy Site Unblocker (conceptual)
GET https://scraper-api.smartproxy.com/v2/scrape
?token=TOKEN
&url=https://shop.example.com/item/22
# OmniScrape
POST https://api.omniscrape.io/v1/scrape
X-API-Key: KEY
Content-Type: application/json
{
"url": "https://shop.example.com/item/22",
"mode": "auto",
"output_format": "html",
"proxy": "residential:us",
"enable_solver": true
}
6.Migration from Site Unblocker URL pattern
Wrap both implementations behind fetch_html() during shadow testing.
1234567891011121314151617181920import requests, os
def smartproxy_unblocker(url: str) -> str:
endpoint = "https://scraper-api.smartproxy.com/v2/scrape"
r = requests.get(endpoint, params={"token": os.environ["SP_TOKEN"], "url": url}, timeout=120)
r.raise_for_status()
return r.text
def omniscrape_unlock(url: str) -> str:
r = requests.post(
"https://api.omniscrape.io/v1/scrape",
headers={"X-API-Key": os.environ["OMNISCRAPE_KEY"]},
json={"url": url, "mode": "auto", "output_format": "html"},
timeout=120,
)
r.raise_for_status()
j = r.json()
if not j["success"]:
raise RuntimeError(j)
return j["data"]["content"]
7.If you used Smartproxy proxies directly
Teams piping requests through http://user:pass@gate.smartproxy.com can switch to OmniScrape embedded proxy field or use OmniScrape dedicated proxy endpoints from the dashboard with the same API key.
8.Shadow migration plan
Run shadow test during a normal week. not only during sales when blocks spike artificially.
- Replace unblocker on 10% of workers first
- Compare HTML hash or key field extraction rate
- Measure effective $/1k successes including retries
- Decommission separate proxy middleware if embedded proxy suffices
9.Add structured extraction
Site Unblocker returns HTML you parse locally. OmniScrape css_extractor removes parser code for stable fields. valuable when Smartproxy middleware fed Scrapy parsers.
123456{
"url": "https://shop.example.com/item/22",
"mode": "auto",
"output_format": "css_extractor",
"css_selectors": { "price": ".price", "title": "h1" }
}
10.Which to pick
OmniScrape when you want one integration for unlock + proxies + logs. Smartproxy when you have favorable proxy contracts and only need unblocker for a slice of traffic. still shadow test OmniScrape on that slice.
Frequently asked questions
Can I keep Smartproxy proxies with OmniScrape unlock?
Most migrations use OmniScrape proxy: residential:cc on the same call. If contract requires Smartproxy IPs temporarily, run shadow tests before hybrid complexity.
How does token auth map?
Smartproxy token query param → OmniScrape X-API-Key header. Never log full keys.
Is Site Unblocker the same as Web Unlocker?
Conceptually yes. both return HTML past anti-bot. Differences are pricing model, routing intelligence, and log visibility.
What about Scrapy middleware?
Replace Smartproxy middleware with a POST to /v1/scrape per request. See Scrapy guide.
Will I save money switching?
Auto mode on mixed catalogs often reduces spend vs always-unblock pricing. Shadow test. your SKU mix decides.
Related guides