Free Proxy List Scraper avatar

Free Proxy List Scraper

Pricing

from $2.40 / 1,000 proxy extracteds

Go to Apify Store
Free Proxy List Scraper

Free Proxy List Scraper

Aggregate public free proxy lists into normalized IP, port, protocol, anonymity, country, source, freshness, and bounded TCP validation records.

Pricing

from $2.40 / 1,000 proxy extracteds

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Collect a current free proxy list from multiple public data sources and export normalized HTTP, HTTPS, SOCKS4, and SOCKS5 endpoint records.

The Actor combines source-reported IP, port, protocol, anonymity, country, organization, and freshness metadata. It can also perform bounded TCP reachability checks for scheduled network-inventory workflows.

Free public proxies are untrusted third-party servers. Treat every endpoint as potentially unsafe. A reachable port is not proof that a proxy relays traffic, protects privacy, or is suitable for production.

What does Free Proxy List Scraper do?

The Actor fetches public lists from:

  • GeoNode's structured proxy-list API;
  • Proxifly's public structured list;
  • TheSpeedX protocol-specific public lists.

It then:

  1. rejects malformed and non-public IPv4 addresses;
  2. normalizes IP addresses, ports, and protocols;
  3. filters by protocol, country, and anonymity;
  4. deduplicates by protocol, IP, and port;
  5. stops at your maxItems limit;
  6. optionally checks whether each TCP port accepts a connection;
  7. saves typed records to the default Apify dataset.

The Actor does not provide a web-browsing proxy, sell proxy traffic, or promise that listed endpoints work beyond the moment they are checked.

Who is it for?

Scraping and automation engineers

Refresh a candidate pool before a controlled test, while keeping the original source and timestamps for auditability.

Network operations teams

Build a scheduled inventory of public endpoints and compare exported datasets between runs.

Security researchers

Study publicly advertised network services in a bounded, reproducible workflow. Follow your authorization and disclosure obligations.

Data analysts

Export normalized endpoint records to JSON, CSV, XML, Excel, or another dataset-supported format without maintaining three source parsers.

Why use this Actor?

  • Multiple sources: broaden coverage without mixing incompatible response formats downstream.
  • Normalized records: every result has a consistent endpoint, IP, port, protocol, source, and timestamp shape.
  • Useful provenance: trace a record to the public list that supplied it.
  • Freshness fields: retain source-reported last-seen time and calculate its age when available.
  • Bounded validation: cap timeout and concurrency for optional TCP checks.
  • Fail-safe input: malformed country codes, limits, and unsupported sources fail clearly.
  • No paid proxy required: collection uses direct public HTTP data surfaces.
  • Integration-ready: use the default dataset with Apify schedules, webhooks, API clients, and MCP.

What data can you extract?

FieldTypeMeaning
endpointIdstringStable protocol/IP/port identity for the current endpoint.
endpointstringURI such as http://126.209.84.138:5050.
ipstringPublic IPv4 address.
portintegerPort from 1 through 65535.
protocolstringhttp, https, socks4, or socks5.
anonymitystring or nullSource-reported anonymity label.
countryCodestring or nullSource-reported two-letter country code.
countrystring or nullSource-reported country name or code.
citystring or nullSource-reported city.
organizationstring or nullSource-reported organization or ISP.
sourcestringgeonode, proxifly, or speedx.
sourceUrlstringPublic URL fetched by the Actor.
sourceRecordIdstring or nullUpstream record identifier when available.
lastSeenAtdate or nullUpstream last-check timestamp.
freshnessSecondsinteger or nullAge of lastSeenAt when available.
validationStatusstringreachable, unreachable, or skipped.
validationMethodstring or absenttcp-connect when validation ran; omitted when checks are skipped.
validationLatencyMsinteger or nullTCP-check elapsed time, including failure time.
validatedAtdate or nullTime the Actor began its check.
validationErrorstring or nullBounded error message for failed checks.
fetchedAtdateTime the Actor assembled the record.

Missing source metadata remains null; it is never invented from another endpoint.

How to get a free proxy list

  1. Open the Actor in Apify Console.
  2. Keep GeoNode and Proxifly selected for a balanced default list.
  3. Select the protocols you need.
  4. Optionally enter ISO country codes such as US, DE, or GB.
  5. Set the maximum number of unique endpoints.
  6. Leave TCP validation off for the fastest inventory export.
  7. Turn it on only when port reachability is useful to your workflow.
  8. Click Start.
  9. Open the Proxy endpoints dataset view.
  10. Export the records or connect your next automation step.

Default input:

{
"sources": ["geonode", "proxifly"],
"protocols": ["http", "https"],
"maxItems": 100,
"validateProxies": false
}

Input parameters

sources

Choose one or more supported public lists.

  • geonode offers the richest source-reported freshness and location metadata.
  • proxifly provides broad structured protocol coverage.
  • speedx provides protocol-specific plain-text endpoint lists.

Default: geonode and proxifly.

protocols

Choose any combination of http, https, socks4, and socks5.

Protocol values are source claims. TCP validation does not perform a protocol handshake.

countries

Enter optional ISO 3166-1 alpha-2 codes.

When a country filter is active, records without country metadata are excluded. This means source choice can affect how many matching records are available.

anonymityLevels

Enter source labels such as elite, anonymous, or transparent.

Labels are normalized to lowercase but remain upstream classifications. Sources can use different testing methods.

maxItems

Choose from 1 to 5,000 unique records.

The limit applies after validation of record shape, filters, and deduplication.

validateProxies

When true, the Actor attempts a TCP connection to each selected endpoint.

This check answers only: “Did this public IP and port accept a TCP connection within the timeout?”

It does not answer:

  • whether the endpoint forwards HTTP requests;
  • whether it supports authentication;
  • whether it leaks your IP address;
  • whether it modifies traffic;
  • whether it remains available later;
  • whether it is lawful or safe for your use case.

validationTimeoutSecs

Per-endpoint TCP timeout from 1 through 15 seconds. Default: 3 seconds.

maxValidationConcurrency

Maximum simultaneous TCP checks from 1 through 100. Default: 20.

Example inputs

Aggregate HTTP and SOCKS endpoints

{
"sources": ["geonode", "proxifly"],
"protocols": ["http", "socks4", "socks5"],
"maxItems": 100,
"validateProxies": false
}

Filter GeoNode to US elite endpoints

{
"sources": ["geonode"],
"protocols": ["http", "https"],
"countries": ["US"],
"anonymityLevels": ["elite"],
"maxItems": 25,
"validateProxies": false
}

Refresh and check a SOCKS inventory

{
"sources": ["geonode", "proxifly", "speedx"],
"protocols": ["socks4", "socks5"],
"maxItems": 20,
"validateProxies": true,
"validationTimeoutSecs": 2,
"maxValidationConcurrency": 10
}

Output example

This record reflects the Actor's current output shape. Endpoint availability changes continuously.

{
"ip": "126.209.84.138",
"port": 5050,
"protocol": "http",
"anonymity": "transparent",
"countryCode": "PH",
"country": "PH",
"city": "Cebu City",
"organization": "Infinivan Incorporated",
"source": "geonode",
"sourceUrl": "https://proxylist.geonode.com/api/proxy-list",
"sourceRecordId": "6a789b6600599ef1e71db16e",
"lastSeenAt": "2026-09-06T14:08:21.000Z",
"endpointId": "http://126.209.84.138:5050",
"endpoint": "http://126.209.84.138:5050",
"freshnessSeconds": 101,
"validationStatus": "skipped",
"validationLatencyMs": null,
"validatedAt": null,
"validationError": null,
"fetchedAt": "2026-09-06T14:10:01.753Z"
}

How much does it cost to extract free proxy endpoints?

Pay-per-event pricing has two parts:

  • a $0.005 start fee for each run;
  • $0.003992 per saved proxy endpoint on the BRONZE tier.

Examples at BRONZE pricing:

Saved endpointsEstimated Actor charge
1$0.008992
10$0.04492
25$0.1048
100$0.4042

Only normalized records saved to the dataset incur the per-endpoint event. Rejected source rows, duplicates, and failed fetches are not charged as proxy endpoints.

Apify may also apply your plan's platform usage terms. See the live pricing panel for the tier applicable to your account.

Schedule recurring proxy inventory refreshes

A schedule turns the Actor into a repeatable inventory feed:

  1. save a Task with stable source and filter settings;
  2. add an hourly or daily Apify schedule;
  3. retain the default dataset for each run;
  4. send the dataset URL through a webhook;
  5. compare endpointId, lastSeenAt, and validationStatus downstream;
  6. alert only after your own confirmation and policy checks.

The Actor itself does not maintain cross-run history or send change alerts. Datasets and schedules provide the building blocks for your workflow.

Export and integration patterns

Spreadsheet inventory

Export the dataset as CSV or Excel and sort by country, protocol, source, or freshness.

Database ingestion

Use endpointId as a run-level endpoint key and preserve fetchedAt for snapshot lineage.

Controlled validation queue

Run collection without validation first, choose a bounded subset, then run a validation Task with conservative timeout and concurrency.

Source quality analysis

Group records by source and compare missing metadata or reachable-port rates over several snapshots.

Automation pipeline

Trigger a webhook after the run and feed only explicitly permitted endpoints into your internal review process.

Run with the Apify API

Replace <APIFY_TOKEN> with your token.

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~free-proxy-endpoint-list/runs?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"sources":["geonode","proxifly"],"protocols":["http"],"maxItems":100}'

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/free-proxy-endpoint-list').call({
sources: ['geonode', 'proxifly'],
protocols: ['http'],
maxItems: 100,
validateProxies: false,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("automation-lab/free-proxy-endpoint-list").call(run_input={
"sources": ["geonode", "proxifly"],
"protocols": ["socks5"],
"maxItems": 100,
"validateProxies": False,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Use with MCP and AI assistants

Add the Actor to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/free-proxy-endpoint-list"

Claude Desktop, Cursor, and VS Code setup

Use this HTTP MCP server configuration in Claude Desktop, Cursor, or VS Code:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/free-proxy-endpoint-list"
}
}
}

Example prompts:

  • “Collect 50 current HTTP proxy endpoints and return country and source fields.”
  • “Create a GeoNode-only US elite proxy inventory without active validation.”
  • “Refresh 20 SOCKS5 endpoints and run bounded TCP reachability checks.”

Review generated inputs before starting a run, especially validation limits.

Reliability, freshness, and source behavior

Public free proxy lists change quickly.

  • A source can remove an endpoint between runs.
  • One source can temporarily fail while another succeeds.
  • Location and anonymity are source-reported, not independently verified.
  • lastSeenAt can be null when a source publishes no timestamp.
  • freshnessSeconds is calculated only when lastSeenAt is valid.
  • Country filters exclude records with unknown countries.
  • Deduplication keeps the first normalized occurrence in selected-source order.
  • The Actor retries transient source failures with bounded backoff.
  • If every selected source fails or yields no valid public endpoint, the run fails instead of returning a misleading success.

Legality

Use the Actor only for public-data collection and network checks you are authorized to perform. Public listing does not grant permission to route traffic through an endpoint. Respect source terms, destination terms, computer-misuse laws, privacy requirements, and network abuse policies.

Security and responsible use

Free proxies can observe, modify, delay, or drop traffic.

Never send through an unknown proxy:

  • passwords or login cookies;
  • personal or health information;
  • private API keys;
  • payment information;
  • confidential business records;
  • traffic for systems you are not authorized to test.

Use HTTPS end-to-end, isolate experiments, apply destination allowlists, and independently review every endpoint before use. Follow source terms, destination terms, network abuse policies, export controls, and applicable laws.

The Actor rejects loopback, private, link-local, reserved, multicast, and invalid IPv4 entries before optional TCP checks.

Limitations

  • IPv4 endpoints only; IPv6 rows are currently excluded.
  • No guarantee of completeness across all public lists.
  • No browser-based web proxy service.
  • No credentials or paid proxy pool.
  • No HTTP, HTTPS CONNECT, SOCKS4, or SOCKS5 relay handshake validation.
  • No anonymity reclassification.
  • No malware or reputation screening.
  • No historical dataset stored across runs.
  • No built-in diff or alert notification.
  • Output quality depends on changing third-party public data.
  • TheSpeedX lacks country and anonymity metadata, so related filters exclude those rows.

Troubleshooting

Why did I get fewer records than maxItems?

Your filters apply after malformed records are removed. A country or anonymity filter can exclude sources that do not publish those fields. Broaden the filters or select GeoNode and Proxifly together.

Why is validationStatus set to skipped?

Set validateProxies to true. Leaving it off is faster and records source data without active network checks.

Why is a reachable endpoint unusable as a proxy?

TCP reachability only confirms that a port accepted a connection. It does not perform a proxy protocol handshake or relay a destination request.

Why did the run fail instead of returning an empty dataset?

When every selected upstream source fails or no source supplies valid public endpoints, a failed run avoids presenting infrastructure failure as a naturally empty result.

How do I reduce validation time?

Lower maxItems, shorten validationTimeoutSecs, or raise concurrency carefully within the schema limit. Conservative settings reduce outbound connection bursts.

FAQ

Does this Actor provide free proxy bandwidth?

No. It aggregates public endpoint metadata. Endpoint operation belongs to unrelated third parties.

Are all listed proxies live?

No. Public lists are volatile. Use source timestamps and optional TCP checks as bounded signals, then perform your own authorized protocol-level testing.

Can I export CSV or Excel?

Yes. Open the default dataset and choose any Apify-supported export format.

Can I filter by country?

Yes. Use two-letter codes. Only records with matching source metadata remain.

Does validation prove anonymity?

No. Anonymity is copied from the source and TCP validation does not inspect forwarding behavior.

Can I schedule it?

Yes. Save the input as a Task and attach an Apify schedule.

Use related Actors only when their independent input and billing contracts match your workflow.