API DOCUMENTATION
Track API Reference
Integrate IP Snare into your job board or aggregator with a single API call. Send click events to the /track endpoint and get real-time traffic verification.
Authentication
All API requests require a Bearer token in the Authorization header. Get your API key from the Settings page after signing up.
Header
Authorization: Bearer YOUR_API_KEYEndpoint
POST
https://api.ipsnare.com/v1/trackContent-Type must be application/json.
Required Parameters
| Field | Type | Description |
|---|---|---|
source_id | string | Identifier for the traffic source |
source_click_id | string | Unique click ID from the source |
user_ip | string | IP address of the end user |
job_id | string | Identifier for the job listing |
click_id | string | Your unique identifier for this click event |
user_agent | string | Browser user-agent string |
job_country | string | Country of the job listing (ISO 3166-1 alpha-2) |
user_country | string | Country of the user (ISO 3166-1 alpha-2) |
click_time | string | Timestamp of the click (ISO 8601 datetime) |
expired | boolean | Whether the click has expired |
is_bot | boolean | Whether the click is from a bot |
is_final | boolean | Whether this is the final state of the click |
expired_at | string | null | When the click expired (ISO 8601 datetime). Can be null or empty string. |
destination_id | string | Identifier for the destination |
Code Examples
curl -X POST https://api.ipsnare.com/v1/track \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"source_id": "example_source",
"source_click_id": "click_abc123",
"user_ip": "203.0.113.42",
"job_id": "job_12345",
"click_id": "uid_xyz789",
"user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"job_country": "GB",
"user_country": "GB",
"click_time": "2026-03-11T12:00:00Z",
"expired": false,
"is_bot": false,
"is_final": true,
"expired_at": null,
"destination_id": "dest_001"
}'Responses
200 Success
Response
{
"success": true
}401 Invalid API Key
Response
{
"success": false,
"errors": [
{
"field": "api_key",
"message": "Invalid API key"
}
]
}422 Missing Parameters
Response
{
"success": false,
"errors": [
{
"field": "source_id",
"message": "Missing required parameter"
}
]
}422 Invalid Parameters
For example, sending country codes that are not ISO 3166-1 alpha-2 codes:
Response
{
"success": false,
"errors": [
{
"field": "job_country",
"message": "Invalid country code"
},
{
"field": "user_country",
"message": "Invalid country code"
}
]
}500 Server Error
Response
{
"success": false,
"errors": [
{
"field": "",
"message": "Internal server error"
}
]
}Postman Collection
Import the collection into Postman to test all endpoints with pre-configured environments.
Download Collection