- About the IPQS APIs
- Proxy & VPN Detection API
- Email Verification API
- Phone Number Validation API
- Malicious URL Scanner API
- Device Fingerprint API
- Mobile Device Fingerprinting SDK
- Gaming Fraud Detection SDK
- Dark Web Leak API
- Malware File Scanner API
- Request List API
- Fraud Reporting API
- Account Management APIs
- Bulk Validation CSV
- Allowlist Blocklist APIs
- Plugins Platforms Integrations
- IP Reputation Database
- IP Address Abuse Feed
- Email Verification Database
-
Custom Integrations
- Getting Started
- Authentication
- Refresh Secret
- IP & Proxy Checks
- Email Verification Checks
- Phone Number Validity Checks
- Device Tracker
- List Device Trackers
- Device Tracker Statistics
- Login Tokens
- Overview Statistics
- Recent Proxy Statistics
- Recent Email Statistics
- Fraud Reporting
- Retrieve Requests by ID
- Country List API Documentation
- Release Notes
Before You Begin
IPQS supports bulk CSV file uploading via HTTP POST file upload, URL file retrieval, and JSON. All of these upload methods work via the same URL but may require additional parameters.
Allowed file types are:
- proxy
- phone
- url
Warning
This API will return responses containing your API key. Treat these responses like passwords and do not share them with third parties.
Request URL
Replace YOUR_FILE_TYPE with the file type you are uploading (e.g., email, phone, etc.)
https://ipqualityscore.com/api/json/csv/YOUR_API_KEY_HERE/YOUR_FILE_TYPE/upload
You may optionally remove the key and type of file from the URL and pass them in as POST, GET, or JSON parameters instead. In which case, the URL would look like this:
https://ipqualityscore.com/api/json/csv/upload
Uploading via POST / File Upload
To upload via Post / file upload, you will need to include the following headers with your request.
Include one file in the body of your request with any key.
The request must be form-data encoded.
Headers
| Field | Value |
|---|---|
| Content-Type | multipart/form-data |
| Content-Length | Calculated when request is sent |
GET / POST / URL Parameters
| Field | Value |
|---|---|
| key | Your API Key. |
| type | The type of CSV ("proxy", "email", "url", or "phone"). |
| file_name | An optional name for this file. A name will automatically be generated if none is supplied. |
Upload via URL
You can upload your file by providing us with the file's download URL via either GET or POST parameters.
Your URL must lead directly to the file, include the protocol (http, https, or ftp), and include any authentication methods in the URL.
GET / POST Parameters
| Field | Value |
|---|---|
| key | Your API Key. |
| type | The type of CSV ("proxy", "email", "url", or "phone"). |
| input OR url | The full link to download the file you wish to process. |
| file_name | An optional name for this file. A name will automatically be generated if none is supplied. |
Upload via JSON
You can upload your data for processing via JSON.
Note
When uploading via JSON, you must include the header Content-type: application/json.
Headers
| Field | Value |
|---|---|
| Content-Type | application/json |
Example Requests
IP Risk Scoring
This is an example request for uploading a CSV containing IP addresses.
{
"type": "proxy",
"file_name": "example.csv",
"key": "YOUR_API_KEY_HERE",
"input": [
[
"1.1.1.1"
],
[
"8.8.8.8"
]
]
}
Email Verification
This is an example request for uploading a CSV containing email addresses.
{
"type": "email",
"file_name": "example.csv",
"key": "YOUR_API_KEY_HERE",
"input": [
[
"support@ipqualityscore.com"
],
[
"test@example.com"
]
]
}
Phone Verification
This is an example request for uploading a CSV containing phone numbers.
{
"type": "phone",
"file_name": "example.csv",
"key": "YOUR_API_KEY_HERE",
"input": [
[
"18007132618"
],
[
"15555551234"
]
]
}
Malicious URL Scanning
This is an example request for uploading a CSV containing URLs.
{
"type": "url",
"file_name": "example.csv",
"key": "YOUR_API_KEY_HERE",
"input": [
[
"https://ipqualityscore.com"
],
[
"https://google.com"
]
]
}
Example Responses
Success
This is an example success response in JSON format. Responses are also available in XML format.
{
"message": "Success",
"success": true,
"id": 827746,
"file_name": "sample_emails.csv",
"type": "email",
"strictness": 0,
"status": "NEW",
"aborted": null,
"invalid_records": 0,
"status_url": "https://ipqualityscore.com/api/json/csv/YOUR_API_KEY_HERE/status/827748",
"downloads": {
"pristine": null,
"clean": null,
"bad": null,
"all": null
},
"request_id": "HDOgXxgMHJ"
}
Failure
This is an example failure response that you may encounter when submitting an invalid CSV URL.
{
"success": false,
"message": "Invalid CSV URL specified. Please check the URL and try again. Error code: 8",
"request_id": "HDWmnOD9oK"
}
Next Steps
After uploading your data, check the verification status and download the results.