{"eid":"proxyscrape","name":"ProxyScrape","domain":"proxyscrape.com","resolved_by":"domain","topics":["ip-proxy"],"n_records":1,"best_vorder":7,"review":null,"aliases":["ProxyScrape","proxyscrape.com"],"records":[{"rid":"ip-proxy/proxyscrape-free-list","card":{"rid":"ip-proxy/proxyscrape-free-list","eid":"proxyscrape","topic":"ip-proxy","slug":"proxyscrape-free-list","provider":"ProxyScrape","url":"https://proxyscrape.com/free-proxy-list","domain":"proxyscrape.com","category":"public proxy list","tier":"free","verdict":"dead","vorder":7,"grp":"dead","confidence":"measured","binding":"request-rate","identity_kind":"anonymous","identity_basis":"stated","needs_card":0,"needs_phone":0,"needs_id":0,"needs_institution":0,"country":null,"crypto":null,"interfaces":"rest","egress_metered":0,"per_object_bytes":null,"retention_days":null,"verified_at":"2026-10-24T10:07:11.000Z","verified_basis":"live","checked_on":"2026-10-25","stale_on":"2026-11-24","n_evidence":4,"usd_month":null,"usd_per_tb_month":null,"summary":"Free, no account: the page states 20,000+ live proxies. The format=text endpoint returned exactly 2,000 rows on 2026-10-24, so the offer a client can actuall...","duplicate_of":null,"n_unknown":3},"record":{"topic":"ip-proxy","slug":"proxyscrape-free-list","provider":"ProxyScrape","url":"https://proxyscrape.com/free-proxy-list","category":"public proxy list","tier":"free","free_tier":{"stated":"Free, no account: the page states 20,000+ live proxies. The format=text endpoint returned exactly 2,000 rows on 2026-10-24, so the offer a client can actually pull is 2,000 addresses per response: 1,357 SOCKS5, 409 HTTP, 234 SOCKS4.","unit":"requests","metered_on":"none","source_url":"https://proxyscrape.com/free-proxy-list","read_on":"2026-10-24","notes":"The 2,000 is a per-response row cap, not a metered allowance: nothing is charged and nothing is counted against the client. Two pulls five minutes apart were both served, with no refusal observed in either."},"per_object_cap":{"stated":"not applicable","bytes":null,"source_url":"https://api.proxyscrape.com/v4/free-proxy-list/get","notes":"The nearest thing to an object cap is the 2,000-row response ceiling, recorded in limits[] as request-rate."},"retention":{"stated":"not applicable: a live proxy address, not stored bytes","days":null,"source_url":"https://api.proxyscrape.com/v4/free-proxy-list/get","notes":"An address is not durable. The payload rate moved from 32 of 100 to 30 of 100 across two runs five minutes apart, so the set a pull returns does not hold its working fraction even within one session."},"egress":{"terms":"ProxyScrape prices nothing and states nothing about traffic: it publishes the list, and the traffic itself crosses the third-party address, whose operator's terms are not published anywhere we could read.","metered":false,"free_allowance":"none published","price_per_tb":null,"source_url":"https://api.proxyscrape.com/v4/free-proxy-list/get"},"interface":["rest"],"interface_detail":"One unauthenticated HTTP GET on api.proxyscrape.com/v4/free-proxy-list/get, which returned Content-Type text/plain with Transfer-Encoding chunked. The addresses it returns speak socks5, http and socks4 (1,357 / 409 / 234 of the 2,000 rows). The schema's interface enum has no token for a proxy protocol, so the three protocols are named here rather than in the array.","endpoint":"https://api.proxyscrape.com/v4/free-proxy-list/get (format=text)","tooling":"A single curl, or any HTTP client, pulls the list; no account, key, SDK or wrapper is involved. Using an address afterwards needs a client that speaks the protocol it is published under (SOCKS5, SOCKS4, or HTTP CONNECT), which curl and rclone both do natively.","chaining":"It is a supply of last-resort egress addresses for the Workers AI gateway: a request a Worker cannot make from its own address is retried through a published address, at roughly a 30% payload rate and with an exit network nobody has identified.","limits":[{"kind":"request-rate","value":"2,000 rows per response on format=text, against the page's claim of 20,000+ live proxies: the body was exactly 2,000 lines","source":"https://api.proxyscrape.com/v4/free-proxy-list/get"}],"limits_note":"Two further constraints were found that name no vocabulary kind, so they are kept here rather than forced into one. First, yield: of 100 sampled addresses, 38 completed a handshake and 32 carried a payload, and five minutes later 34 and 30, so about 70% of the list cannot move a byte at the moment it is pulled. Second, attribution: the response carries no ASN field, so there is no way to know whose network an address belongs to without spending a request on it. That absence is what puts rung 5 out of reach before the first use.","binding":"request-rate","binding_note":"The response is capped at 2,000 rows against an advertised 20,000+, so the ceiling a client can reach is the size of one response, not the size of the published pool; that cap arrives before any byte quota, which does not exist, and before any per-address shaping, which no evidence here shows. The 30% payload rate then cuts the working set to roughly 600 addresses, which is the figure that actually decides the gateway, but it is a yield property of the addresses rather than a limit the vendor sets.","identity_cost":{"kind":"anonymous","detail":"No account, key or email: the format=text endpoint answered an unauthenticated GET on 2026-10-24 and the 2,000-row body was used as returned.","country":null},"reliability_note":"The addresses are open proxies of unknown ownership: 32 of 100 sampled carried a payload and 30 of 100 five minutes later, the response publishes no ASN field, and the exit network is therefore unknown until an address is actually used.","confidence":"measured","confidence_note":"The 2,000-row cap, the protocol split and the two payload rates were each measured from the endpoint's own output on 2026-10-24, and the measurement is what contradicts the page's 20,000+ claim. Moving up one would need a sample larger than 100 and runs spread across a day, so that a diurnal effect can be told apart from a dead list.","evidence":[{"url":"https://proxyscrape.com/free-proxy-list","date":"2026-10-24","proved":"The vendor's own figure for the free list is 20,000+ live proxies, which the measured 2,000-row format=text response contradicts."},{"url":"https://api.proxyscrape.com/v4/free-proxy-list/get","date":"2026-10-24","proved":"format=text answered an unauthenticated GET with exactly 2,000 lines: 1,357 socks5, 409 http, 234 socks4, served as text/plain with Transfer-Encoding chunked. No ASN field appears in the response."},{"url":null,"date":"2026-10-24","proved":"First run over 100 sampled addresses: 38 completed a handshake and 32 carried a payload, 32%, with the failures logged as connection resets, EOFs and wrong-version TLS errors."},{"url":null,"date":"2026-10-24","proved":"Second run five minutes later over 100 sampled addresses: 34 handshakes and 30 payloads, 30%, so the low yield repeats rather than being a single bad sample."}],"verdict":"dead","verified_at":"2026-10-24T10:07:11.000Z","price_per_tb_month":null,"notes":"Three candidates for the low payload rate, tested rather than assumed. (1) The probe's own TLS handling was at fault, refuted because the failures are not uniform: connection resets, plain EOFs and a wrong-version-number TLS error all appear, and 30 of the same 100 addresses did carry a payload under the identical harness, so the harness can succeed against this list. (2) The list is stale and the addresses are long dead, which the evidence supports and does not fully settle: the page's 20,000+ figure against a hard 2,000-row body means the published number and the served list are different populations, and only 30% of the served one works. (3) The low rate is a diurnal or regional effect of this machine's vantage point, which is not refuted and would need runs spread across a day to separate. The verdict rests on (2) with (3) still open. One caveat on weight: each rate is one sample of 100 addresses out of 2,000, taken twice five minutes apart, which is enough to show the yield is low and repeatable and not enough to put a tight interval on it. The 2,000-row cap rests on a single measured response whose length is exactly the round number, which is what a server-side cap looks like; a second full pull returning 2,000 again would settle it, and that was not run. Rung 5 is unknowable before a request is spent, because the response has no ASN field; that absence is a property of the product, not a gap in the probe. On shape: the assignment names the interface tokens socks5, http-proxy and web-ui, but scripts/dossier/schema.json restricts interface[] to its own enum, which has no proxy-protocol token, and scripts/dossier/validate.py enforces that enum, so the array carries rest and the three protocols are stated in interface_detail and limits_note instead. Searched dossier/ and docs/ for an existing record naming ProxyScrape to correct; none exists, so this record corrects nothing outside itself.","extras":{"rung":2,"rung_note":"The product is a supply of single addresses rather than a subnet or an ASN block, so rung 2 is the furthest the client can get before spending a request on an address.","protocol_split":{"socks5":1357,"http":409,"socks4":234,"total":2000},"payload_rate_run1":"32 of 100","payload_rate_run2":"30 of 100","handshake_rate_run1":"38 of 100","handshake_rate_run2":"34 of 100","asn_field":false,"advertised_count":"20,000+ live proxies","served_count":2000,"sample_size":"100 addresses per run, two runs five minutes apart"}},"claims":[{"path":"$.free_tier.stated","kind":"free-quota","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"},{"path":"$.limits[0].value","kind":"limit:request-rate","num":null,"unit":null,"per":null,"currency":null,"usd":null,"fx_date":null,"parse":"unparsed"}],"unknown":[["$.evidence[2].url","private-url"],["$.evidence[3].url","private-url"],["$.per_object_cap.stated","not-applicable"]],"history":[],"drift":[]}]}