Sharp edgestested 2026-05-24 · public-tough-v1 · proxy: none

wreq

Real fingerprint, young edges.

wreq is a Rust HTTP client with browser-grade TLS/HTTP2 emulation. We ran 0.11.3 through its blocking client against the 21-site corpus, no proxy.

It passed 2 of 21 — but the two are interesting. It was the only tool in the entire test, including every browser, to land Yahoo Finance directly: everything else was redirected to Yahoo's consent wall. Its emulation profile evidently threads that needle. Target passed as well.

The sharp edge: Rightmove — a site every other tool passed — answered wreq with HTTP 400. That is a malformed-request-shape response, not bot detection, and it says the defaults still have quirks. The rest of the corpus failed with the standard 403/429/captcha wall, plus a marker miss on AliExpress.

Test conditions

21 real public sites (public-tough-v1), 2026-05-24, no proxy, single residential IP, Linux. Deterministic validators: expected status code plus required and forbidden content markers. Pass rates measure the tool and the network position together. Without a proxy, results reflect how each site's protections treat one plain residential connection as much as the tool itself.

What worked

  • +Only tested tool to reach Yahoo Finance without hitting the consent redirect.
  • +TLS emulation is real; failures on protected sites look like curl_cffi's, not like plain Requests'.
  • +Fast — refusals typically arrived in under 300 ms.

What failed

  • 2/21 overall, below curl_cffi's 5/21 on the same day.
  • Rightmove returned HTTP 400 — the only tool that failed that target at all; request-shape defaults need care.
  • Young project surface: Python bindings, docs, and defaults are less settled than curl_cffi's.

When to use it

When curl_cffi's profiles don't fit and you can invest in tuning request shape per target — its fingerprint demonstrably reaches places others can't, but expect to debug defaults.

Promising fingerprint, sharp edges on defaults. Watch it, tune it, don't assume it.

Run evidence

Every attempt below is backed by saved artifacts: request/response metadata, body content, and (for browsers) screenshots. Raw JSON and artifacts live in the runner data directory.

Run · wreq-common-sites-v1-20260524

2/21 passedversion 0.11.3proxy: none2026-05-24

adapter: wreq.blocking.Client.get

TargetResultDetailLatency
amazon.comamazon_search_laptopfailexpected 200, got 503170 ms
walmart.comwalmart_search_laptopfailblock marker: “Robot or human”425 ms
ebay.comebay_search_laptopfailexpected 200, got 403108 ms
aliexpress.comaliexpress_search_laptopfailexpected content missing170 ms
target.comtarget_search_laptoppassstatus 2001.5 s
booking.combooking_search_parisfailexpected 200, got 202284 ms
airbnb.comairbnb_search_parisfailblock marker: “captcha”278 ms
tripadvisor.comtripadvisor_restaurants_parisfailexpected 200, got 403206 ms
expedia.comexpedia_hotels_parisfailexpected 200, got 403219 ms
zillow.comzillow_homes_for_salefailexpected 200, got 403222 ms
realtor.comrealtor_new_yorkfailexpected 200, got 429218 ms
rightmove.co.ukrightmove_londonfailexpected 200, got 400203 ms
indeed.comindeed_python_remotefailexpected 200, got 40344 ms
yelp.comyelp_sf_restaurantsfailexpected 200, got 403204 ms
trustpilot.comtrustpilot_amazonfailexpected 200, got 403266 ms
newyork.craigslist.orgcraigslist_nyc_bikefailexpected 200, got 403867 ms
finance.yahoo.comyahoo_finance_aaplpassstatus 200542 ms
coinmarketcap.comcoinmarketcap_homefailexpected 200, got 40320 ms
reddit.comreddit_webscrapingfailexpected 200, got 403112 ms
youtube.comyoutube_search_scrapingfailblock marker: “captcha”166 ms
en.wikipedia.orgwikipedia_web_scrapingfailexpected 200, got 403147 ms