API Documentation
Complete guide to integrating with the arrest.rest OSINT Intelligence Platform
Overview
The arrest.rest API is a comprehensive OSINT (Open Source Intelligence) platform that helps you investigate emails, phone numbers, Discord IDs, and other digital identifiers..
API Version
Current version: 2.0
What You Can Do
The API covers comprehensive OSINT investigation needs across multiple categories:
- Email Investigation: Breach searches, social media discovery, Google account verification
- Phone Investigation: Caller identification, carrier information, fraud analysis
- Discord Analysis: User lookups and cross-platform connections
- Domain & IP Intelligence: Network analysis, DNS records, geolocation
- Specialized Searches: SEON fraud analysis, HLR lookups, Chilean RUT investigation
Authentication
All API requests require authentication using an API key passed in the request header.
API Key Header
X-API-Key: your_api_key_here
Getting an API Key
Contact our support team through Discord or Telegram to obtain an API key. We offer several subscription plans including daily, weekly, and monthly options.
Example Request
curl -H "X-API-Key: ak_1ebb8a09e823e4c58b76a638fb3ef05e636410cdebf8b2dbe9a58cb3444a" \
"https://arrest.rest/api.php"
Rate Limits
API requests are subject to rate limiting based on your subscription plan. Limits apply across all endpoints.
Rate Limit Headers
X-RateLimit-Daily-Limit: 1000
X-RateLimit-Daily-Remaining: 847
X-RateLimit-Hourly-Limit: 100
X-RateLimit-Hourly-Remaining: 73
Rate Limit Response
{
"status": "error",
"data": {
"error": "Rate limit exceeded. Try again in 3600 seconds."
},
"timestamp": 1750218591
}
Response Format
All API responses follow a consistent JSON structure.
Success Response Structure
{
"status": "success",
"data": {
"query_term": "search_value",
"sources_checked": 4,
"results": {
"data_category": { },
"additional_category": { }
}
},
"timestamp": 1750218591
}
Error Response
{
"status": "error",
"data": {
"error": "Detailed error message explaining the issue"
},
"timestamp": 1750218591
}
API Status
Retrieve comprehensive API information, usage statistics, and available endpoints.
Example Request
curl -H "X-API-Key: ak_your_key_here" "https://arrest.rest/api.php"
Example Response
{
"status": "success",
"data": {
"name": "arrest.rest API",
"version": "2.0",
"authenticated_as": "username",
"usage_today": "5/1000",
"usage_this_hour": "2/100",
"endpoints": {
"GET /api?endpoint=email&q={email}": "Email investigation",
"GET /api?endpoint=phone&q={phone}": "Phone investigation",
"GET /api?endpoint=breach&q={email}": "Breach search"
}
},
"timestamp": 1750218591
}
Email Investigation
Comprehensive email investigation consolidating breach data, social media accounts, and additional intelligence.
Parameters
Parameter | Type | Required | Description |
---|---|---|---|
endpoint |
string | Yes | Must be "email" |
q |
string | Yes | Valid email address to investigate |
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=email&q=test@example.com"
Example Response
{
"status": "success",
"data": {
"email": "test@example.com",
"sources_checked": 3,
"results": {
"breaches": [
{
"breach_name": "LinkedIn 2012",
"date": "2012-06-05",
"data_types": ["emails", "passwords"]
}
],
"social_media": [
{
"platform": "Twitter",
"profile_url": "https://twitter.com/johndoe"
}
],
"additional_info": {
"registrations": ["Discord", "Steam"]
}
}
},
"timestamp": 1750218591
}
Phone Investigation
Advanced phone investigation providing caller information, carrier details, and registration analysis.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=phone&q=5551234567"
Example Response
{
"status": "success",
"data": {
"phone": "5551234567",
"sources_checked": 3,
"results": {
"caller_info": {
"name": "John Smith",
"carrier": "Verizon Wireless",
"location": "New York, NY",
"line_type": "mobile",
"country": "US"
}
}
},
"timestamp": 1750218591
}
Breach Search
Comprehensive breach search across multiple databases with risk assessment.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=breach&q=test@example.com"
Example Response
{
"status": "success",
"data": {
"email": "test@example.com",
"sources_checked": 3,
"results": {
"breaches": [
{
"breach_name": "Collection #1",
"date": "2019-01-16",
"data_types": ["emails", "passwords"],
"records": 773000000
}
],
"leak_summary": {
"total_breaches": 12,
"risk_level": "high"
}
}
},
"timestamp": 1750218591
}
Discord Lookup
Discord user investigation providing username history, server memberships, and account information.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=discord&q=123456789012345678"
Example Response
{
"status": "success",
"data": {
"discord_id": "123456789012345678",
"sources_checked": 1,
"results": {
"discord_info": {
"username_history": [
{
"username": "johndoe#1234",
"date_changed": "2023-03-15"
}
],
"account_info": {
"creation_date": "2022-01-15"
}
}
}
},
"timestamp": 1750218591
}
Discord to Roblox
Find Roblox accounts connected to Discord IDs through verification systems.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=discord-to-roblox&q=123456789012345678"
Example Response
{
"status": "success",
"data": {
"discord_id": "123456789012345678",
"sources_checked": 1,
"results": {
"discord_to_roblox": {
"roblox_username": "johndoe_rblx",
"roblox_id": "987654321",
"connection_verified": true,
"last_seen": "2024-01-15"
}
}
},
"timestamp": 1750218591
}
Roblox Lookup
Comprehensive Roblox user investigation including account details and additional data.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=roblox&q=johndoe"
Example Response
{
"status": "success",
"data": {
"roblox_username": "johndoe",
"sources_checked": 1,
"results": {
"account_info": {
"user_id": "123456789",
"display_name": "John Doe",
"description": "Roblox player since 2020",
"created_date": "2020-03-15",
"premium": true
}
}
},
"timestamp": 1750218591
}
Domain Investigation
Comprehensive domain analysis including WHOIS data, DNS records, and subdomain discovery.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=domain&q=example.com"
Example Response
{
"status": "success",
"data": {
"domain": "example.com",
"sources_checked": 1,
"results": {
"domain_info": {
"whois_info": {
"registrar": "Example Registrar",
"created": "1995-08-14",
"expires": "2025-08-13"
},
"dns_records": [
{
"type": "A",
"value": "93.184.216.34"
}
]
}
}
},
"timestamp": 1750218591
}
IP Investigation
IP address investigation combining geolocation data with network intelligence.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=ip&q=8.8.8.8"
Example Response
{
"status": "success",
"data": {
"ip_address": "8.8.8.8",
"sources_checked": 2,
"results": {
"ip_info": {
"location": {
"country": "US",
"city": "Mountain View",
"region": "California"
},
"isp": "Google LLC",
"organization": "Google Public DNS"
}
}
},
"timestamp": 1750218591
}
Name Search
Search for individuals by name across social platforms and public records.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=name&q=John%20Doe"
Example Response
{
"status": "success",
"data": {
"name": "John Doe",
"sources_checked": 1,
"results": {
"name_info": {
"social_profiles": [
{
"platform": "LinkedIn",
"profile_url": "https://linkedin.com/in/johndoe"
}
],
"public_records": [
{
"location": "New York, NY",
"age_range": "30-40"
}
]
}
}
},
"timestamp": 1750218591
}
SEON Email Analysis
Advanced email fraud analysis using SEON's machine learning algorithms.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=seon-email&q=test@example.com"
Example Response
{
"status": "success",
"data": {
"email": "test@example.com",
"sources_checked": 1,
"results": {
"seon_analysis": {
"risk_score": "low",
"email_details": {
"domain_age": "15 years",
"domain_reputation": "excellent"
},
"fraud_indicators": [],
"reputation": "good"
}
}
},
"timestamp": 1750218591
}
SEON Phone Analysis
Advanced phone fraud analysis and risk assessment using SEON technology.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=seon-phone&q=5551234567"
Example Response
{
"status": "success",
"data": {
"phone": "5551234567",
"sources_checked": 1,
"results": {
"seon_analysis": {
"risk_score": "medium",
"phone_details": {
"line_type": "mobile",
"carrier": "Verizon",
"country": "US"
},
"fraud_indicators": ["recent_activation"]
}
}
},
"timestamp": 1750218591
}
HLR Phone Lookup
Home Location Register lookup providing real-time phone number status and network information.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=hlr-lookup&q=5551234567"
Example Response
{
"status": "success",
"data": {
"phone": "5551234567",
"sources_checked": 1,
"results": {
"hlr_info": {
"network": "Verizon Wireless",
"country": "US",
"status": "active",
"ported": false
}
}
},
"timestamp": 1750218591
}
Google Account (GHunt)
Google account investigation revealing profile information and associated data.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=ghunt&q=test@gmail.com"
Example Response
{
"status": "success",
"data": {
"email": "test@gmail.com",
"sources_checked": 1,
"results": {
"google_account": {
"google_id": "123456789012345678901",
"name": "John Doe",
"profile_picture": "https://lh3.googleusercontent.com/a/example",
"last_update": "2024/01/15 10:30:00 (UTC)"
}
}
},
"timestamp": 1750218591
}
Network Scanning
Network intelligence scanning using Shodan's database of internet-connected devices.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=shodan&q=8.8.8.8"
Example Response
{
"status": "success",
"data": {
"query": "8.8.8.8",
"sources_checked": 1,
"results": {
"network_intelligence": {
"host_info": {
"ip": "8.8.8.8",
"hostnames": ["dns.google"],
"country_name": "United States",
"city": "Mountain View",
"org": "Google LLC"
},
"vulnerabilities": [],
"open_ports": [53, 443]
}
}
},
"timestamp": 1750218591
}
Chilean RUT
Chilean RUT (Rol Único Tributario) investigation for identity verification.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=rut&q=12345678-9"
Example Response
{
"status": "success",
"data": {
"rut": "12345678-9",
"sources_checked": 1,
"results": {
"rut_info": {
"personal_info": {
"name": "Juan Pérez",
"status": "active"
},
"address_info": {
"region": "Metropolitana",
"city": "Santiago"
},
"verification_status": true
}
}
},
"timestamp": 1750218591
}
Balance Check
Check your current API usage statistics and remaining quota.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=balance"
Example Response
{
"status": "success",
"data": {
"user": "johndoe",
"usage_statistics": {
"requests_today": 45,
"daily_limit": 1000,
"requests_this_hour": 8,
"hourly_limit": 100,
"remaining_today": 955,
"remaining_this_hour": 92
}
},
"timestamp": 1750218591
}
Connectivity Test
Test API connectivity and verify your authentication is working correctly.
Example Request
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=test"
Example Response
{
"status": "success",
"data": {
"status": "API is working perfectly",
"authenticated_user": "johndoe",
"timestamp": "2024-06-25 14:30:15",
"server_time": 1750218591,
"version": "2.0"
},
"timestamp": 1750218591
}
JavaScript Examples
Node.js API Client
const axios = require('axios');
class ArrestRestAPI {
constructor(apiKey) {
this.apiKey = apiKey;
this.baseURL = 'https://arrest.rest/api.php';
this.headers = {
'X-API-Key': apiKey,
'Content-Type': 'application/json'
};
}
async makeRequest(endpoint, query) {
try {
const response = await axios.get(`${this.baseURL}?endpoint=${endpoint}&q=${encodeURIComponent(query)}`, {
headers: this.headers
});
return response.data;
} catch (error) {
throw new Error(`API Error: ${error.response?.data?.data?.error || error.message}`);
}
}
async emailInvestigation(email) {
return await this.makeRequest('email', email);
}
async phoneInvestigation(phone) {
return await this.makeRequest('phone', phone);
}
async breachSearch(email) {
return await this.makeRequest('breach', email);
}
}
const api = new ArrestRestAPI('ak_your_key_here');
api.emailInvestigation('test@example.com').then(console.log);
Python Examples
Python API Client
import requests
from typing import Dict, Any
class ArrestRestAPI:
def __init__(self, api_key: str):
self.api_key = api_key
self.base_url = 'https://arrest.rest/api.php'
self.headers = {
'X-API-Key': api_key,
'Content-Type': 'application/json'
}
def _make_request(self, endpoint: str, query: str) -> Dict[str, Any]:
params = {'endpoint': endpoint, 'q': query}
try:
response = requests.get(self.base_url, params=params, headers=self.headers)
response.raise_for_status()
return response.json()
except requests.exceptions.RequestException as e:
raise Exception(f"API request failed: {e}")
def email_investigation(self, email: str) -> Dict[str, Any]:
return self._make_request('email', email)
def phone_investigation(self, phone: str) -> Dict[str, Any]:
return self._make_request('phone', phone)
# Usage example
api = ArrestRestAPI('ak_your_key_here')
result = api.email_investigation('test@example.com')
print(result)
PHP Examples
PHP API Client
apiKey = $apiKey;
$this->baseURL = 'https://arrest.rest/api.php';
}
private function makeRequest($endpoint, $query) {
$url = $this->baseURL . '?' . http_build_query([
'endpoint' => $endpoint,
'q' => $query
]);
$headers = [
'X-API-Key: ' . $this->apiKey,
'Content-Type: application/json'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_error($ch)) {
throw new Exception('cURL Error: ' . curl_error($ch));
}
curl_close($ch);
if ($httpCode !== 200) {
throw new Exception('HTTP Error: ' . $httpCode);
}
$data = json_decode($response, true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new Exception('JSON Decode Error: ' . json_last_error_msg());
}
return $data;
}
public function emailInvestigation($email) {
return $this->makeRequest('email', $email);
}
public function phoneInvestigation($phone) {
return $this->makeRequest('phone', $phone);
}
public function breachSearch($email) {
return $this->makeRequest('breach', $email);
}
public function discordLookup($discordId) {
return $this->makeRequest('discord', $discordId);
}
public function domainInvestigation($domain) {
return $this->makeRequest('domain', $domain);
}
public function ipInvestigation($ip) {
return $this->makeRequest('ip', $ip);
}
public function checkBalance() {
$url = $this->baseURL . '?' . http_build_query(['endpoint' => 'balance']);
$headers = [
'X-API-Key: ' . $this->apiKey,
'Content-Type: application/json'
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_error($ch)) {
throw new Exception('cURL Error: ' . curl_error($ch));
}
curl_close($ch);
if ($httpCode !== 200) {
throw new Exception('HTTP Error: ' . $httpCode);
}
$data = json_decode($response, true);
if (json_last_error() !== JSON_ERROR_NONE) {
throw new Exception('JSON Decode Error: ' . json_last_error_msg());
}
return $data;
}
}
try {
$api = new ArrestRestAPI('ak_your_key_here');
$balance = $api->checkBalance();
echo "Daily usage: " . $balance['data']['usage_statistics']['requests_today'] .
"/" . $balance['data']['usage_statistics']['daily_limit'] . "\n";
$emailResult = $api->emailInvestigation('test@example.com');
echo "Email sources checked: " . $emailResult['data']['sources_checked'] . "\n";
$phoneResult = $api->phoneInvestigation('5551234567');
echo "Phone sources checked: " . $phoneResult['data']['sources_checked'] . "\n";
$domainResult = $api->domainInvestigation('example.com');
echo "Domain sources checked: " . $domainResult['data']['sources_checked'] . "\n";
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}
?>
Simple PHP Example
$endpoint,
'q' => $query
]);
$options = [
'http' => [
'header' => "X-API-Key: $apiKey\r\n" .
"Content-Type: application/json\r\n",
'method' => 'GET',
'timeout' => 30
]
];
$context = stream_context_create($options);
$result = file_get_contents($url, false, $context);
if ($result === FALSE) {
throw new Exception('Failed to fetch data from API');
}
return json_decode($result, true);
}
$apiKey = 'ak_your_key_here';
try {
$emailData = arrestRestRequest('email', 'test@example.com', $apiKey);
echo "Email investigation completed\n";
print_r($emailData);
$phoneData = arrestRestRequest('phone', '5551234567', $apiKey);
echo "Phone investigation completed\n";
print_r($phoneData);
$balanceData = arrestRestRequest('balance', '', $apiKey);
echo "Balance check completed\n";
print_r($balanceData);
} catch (Exception $e) {
echo "Error: " . $e->getMessage() . "\n";
}
?>
cURL Examples
Basic Endpoint Examples
# Email investigation
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=email&q=test@example.com"
# Phone investigation
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=phone&q=5551234567"
# Breach search
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=breach&q=test@example.com"
# Discord lookup
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=discord&q=123456789012345678"
# Balance check
curl -H "X-API-Key: ak_your_key_here" \
"https://arrest.rest/api.php?endpoint=balance"
Error Codes
Status Code | Error Type | Description | Resolution |
---|---|---|---|
200 |
Success | Request completed successfully | Process the response data |
400 |
Bad Request | Invalid parameters or malformed request | Check request format and parameters |
401 |
Unauthorized | Invalid or missing API key | Verify API key in X-API-Key header |
429 |
Too Many Requests | Rate limit exceeded | Wait before making more requests |
500 |
Internal Server Error | Server-side error occurred | Retry request or contact support |
Best Practices
Efficient Usage
Monitor your usage with the balance endpoint to track consumption. Cache results appropriately as each response represents data from multiple sources.
Error Handling
Always implement proper error handling for API requests. Check the sources_checked field to understand the comprehensiveness of results.
async function robustApiCall(endpoint, query, apiKey, maxRetries = 3) {
const headers = {'X-API-Key': apiKey};
for (let attempt = 0; attempt < maxRetries; attempt++) {
try {
const response = await fetch(
`https:
{ headers }
);
if (response.status === 200) {
const data = await response.json();
if (data.status === 'success') {
return data;
}
} else if (response.status === 429) {
const retryAfter = response.headers.get('Retry-After') || 60;
await new Promise(resolve => setTimeout(resolve, retryAfter * 1000));
}
} catch (error) {
if (attempt === maxRetries - 1) throw error;
await new Promise(resolve => setTimeout(resolve, Math.pow(2, attempt) * 1000));
}
}
throw new Error('Max retries exceeded');
}
Contact & Support
Need Help?
Our support team is available to help you integrate with the arrest.rest API and answer any questions about our OSINT intelligence platform.
Join our DiscordLegal & Ethical Usage
Acceptable Use
- Security research and threat intelligence
- Compliance and identity verification
- Authorized background checks
- Personal account monitoring
- Academic and educational research
Prohibited Use
- Harassment, stalking, or doxxing
- Unauthorized access attempts
- Identity theft or fraud
- Violation of privacy laws
- Any illegal activities
Users are responsible for ensuring their use of this API complies with all applicable laws and regulations in their jurisdiction.