Python CLI & CSV export / VERSION 1.0.0
Bulk IP Proxy Checker — Python CLI & CSV Export
Check a list of IPv4 and IPv6 addresses using your ProxyRadar account. Download a Python bulk checker with CSV export, quota handling and explicit unknown results.
Source and setup instructions included · Published October 28, 2026
Check an IP list and export CSV
The Python command-line tool reads up to 1,000 unique lines from a local text file, calls the existing API sequentially, and writes IP classification, category flags and errors to CSV. No spreadsheet or file upload to a new service is required; valid IPs are sent to ProxyRadar under your account.
Prepare your input
Use Python 3.10+; no third-party Python packages are required. Extract the ZIP and create a UTF-8 file with one IP per line. Empty lines and lines starting with # are ignored. Input is limited to 64 KiB.
# ips.txt — replace with addresses you are authorized to check
8.8.8.8
2606:4700:4700::1111Run the checker
Set PROXYRADAR_API_KEY in your environment or secret manager. Do not put a real key in command arguments, a shared file or shell history.
python3 proxyradar_bulk.py ips.txt --output results.csvThe output file must not already exist. Omit --output to stream CSV to standard output. Repeated exact lines are deduplicated and equivalent normalized addresses reuse the result within the run. Each successful API request consumes one query; a new run can consume queries again.
Understand the export
| Column | Meaning |
|---|---|
| state | positive, negative or unknown. |
| proxy | 1 or 0 only for a valid classification. Blank on unknown. |
| vpn, tor, hosting, public_proxy, known_bot | true, false or unknown for each available category. |
| error | Invalid input, HTTP status or request failure; blank on success. |
Quota and interruption behavior
Each call has a 15-second timeout with no automatic retries. On HTTP 401 or 429, the remaining addresses are marked not checked and no further API requests are sent. Review your key or quota before a new run; daily allowance resets at 00:00 UTC. A client timeout can occur after the server has completed a billable lookup, so retries may consume another query.
Exit code 0 means all rows have classifications; exit code 2 means an error, unknown result or invalid invocation. CSV output is flushed after each row so completed rows remain available if you interrupt the job. Protect the result file as IP data and never interpret unknown rows as negative results.
Start with a real lookup.
Create an account, get your API key and test the integration on your staging site. Your account includes 1,000 free queries per day.
All integrations · API reference · Coverage and limitations · Account support