import requests
import json
# API credentials
API_PUBLIC_KEY = "your_public_key"
API_PRIVATE_KEY = "your_private_key"
BASE_URL = "https://api.pingproxies.com/1.0/public/user"
# Headers for authentication
headers = {
"X-API-Public-Key": API_PUBLIC_KEY,
"X-API-Private-Key": API_PRIVATE_KEY
}
# Example 1: Search proxy users by exact metadata match (department = "Marketing")
# This will find all proxy users that have their department field in metadata set to "Marketing"
exact_match_url = f"{BASE_URL}/proxy_user/search"
exact_match_params = {
"proxy_user_metadata.department": "Marketing"
}
# Make the API request
exact_match_response = requests.get(exact_match_url, headers=headers, params=exact_match_params)
# Check if the request was successful
if exact_match_response.status_code == 200:
exact_match_data = exact_match_response.json()
print(f"Found {exact_match_data['total_count']} proxy users in Marketing department:")
# Display the results
for proxy_user in exact_match_data['data']:
print(f" - {proxy_user['proxy_user_id']}: {proxy_user.get('proxy_user_metadata', {})}")
else:
print(f"Error in exact match search: {exact_match_response.status_code}")
print(exact_match_response.text)
# Example 2: Search proxy users by metadata range (employee_id between 1000 and 5000)
# This will find all proxy users that have a employee_id value between 1000 and 5000
range_url = f"{BASE_URL}/proxy_user/search"
range_params = {
"proxy_user_metadata.min_employee_id": 1000,
"proxy_user_metadata.max_employee_id": 5000
}
# Make the API request
range_response = requests.get(range_url, headers=headers, params=range_params)
# Check if the request was successful
if range_response.status_code == 200:
range_data = range_response.json()
print(f"\nFound {range_data['total_count']} proxy users with employee_id between 1000 and 5000:")
# Display the results
for proxy_user in range_data['data']:
print(f" - {proxy_user['proxy_user_id']}: EmployeeId = {proxy_user.get('proxy_user_metadata', {}).get('employee_id', 'N/A')}")
else:
print(f"Error in range search: {range_response.status_code}")
print(range_response.text)