API Documentation

Integrate Lookups.io into your applications with our REST API. Search for people, view profiles, and access breach data programmatically.

RESTful API

Simple JSON-based API that works with any programming language or HTTP client.

Fast & Concurrent

Searches run across multiple sources simultaneously for faster results.

Secure

Bearer token authentication with rate limiting to protect your account.

Authentication

All API requests require authentication. Include your API key in the Authorization header as a Bearer token.

Authorization: Bearer YOUR_API_KEY

Sign in to see your actual API key in the examples.

Search Types

The search endpoint supports four types of searches. Use the type field to specify which search to perform.

"name"

Search by full name. Requires location.

"phone"

Search by phone number (10 digits).

"address"

Search by street address. Requires location.

"email"

Search breaches, logs, and people by email.

"type": "name" | "phone" | "address" | "email"

Data Sources

You can specify which sources to query using the optional sources array. If omitted, all sources are queried.

1

Source #1

2

Source #2

3

Source #3

4

Source #4

// Query specific sources 1 and 3
{ "type": "name", "term": "John Doe", "location": "CA", "sources": [1, 3] }

// Query all sources (default when sources omitted)
{ "type": "name", "term": "John Doe", "location": "CA" }

Rate Limits

API requests are rate limited per action to ensure fair usage. Exceeding the limit returns a 429 Too Many Requests response.

Search

60/min

View Profile

60/min

Unlock Profile

120/min

API Endpoints

Click on each endpoint to expand and see request/response examples with copy-able cURL commands.

Error Responses

All error responses follow a consistent format with an error message.

400Bad Request
Invalid request body or parameters
401Unauthorized
Invalid or missing API key
403Forbidden
API access not enabled or daily limit reached
404Not Found
Profile not found
429Too Many Requests
Rate limit exceeded
{
  "error": {
    "message": "rate limit exceeded"
  }
}