Integrate username checking across 700+ platforms into your applications. Powerful RESTful API for OSINT, cybersecurity, and brand protection tools.
Optimized API with concurrent processing and smart caching for sub-second response times.
Built-in rate limiting and security measures to ensure reliable service for all users.
Clean, intuitive RESTful API design with comprehensive error handling and status codes.
Simple authentication and well-documented endpoints for quick integration.
Get started with the WhatsMyName API in minutes. No API key required for basic usage.
POST request to /api/search with username
Receive queryId for polling results
GET request to check search progress
Handle completed search data
Advertisement
Complete reference for all available API endpoints and their parameters.
/api/searchInitiate a username search across all supported platforms
usernamestringrequiredThe username to search for
{
"queryId": "string",
"status": "running",
"totalPlatforms": 725,
"estimatedTime": 30
}/api/search?id={queryId}Retrieve results for a specific search query
idstringrequiredThe query ID returned from the search endpoint
{
"queryId": "string",
"status": "completed",
"username": "john",
"results": [
{
"platform": "Twitter",
"url": "https://twitter.com/john",
"status": "hit",
"responseTime": 245
}
]
}/api/platformsGet information about all supported platforms
categorystringFilter by platform category
{
"platforms": [
{
"name": "Twitter",
"category": "Social Media",
"url": "https://twitter.com",
"enabled": true
}
],
"total": 725
}Ready-to-use code examples in popular programming languages.
// Initialize a username search
const searchResponse = await fetch('/api/search', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
username: 'john'
})
});
const searchData = await searchResponse.json();
console.log('Search initiated:', searchData.queryId);
// Poll for results
const pollResults = async (queryId) => {
const response = await fetch(`/api/search?id=${queryId}`);
const data = await response.json();
if (data.status === 'completed') {
console.log('Results:', data.results);
return data;
} else {
// Continue polling
setTimeout(() => pollResults(queryId), 1000);
}
};
pollResults(searchData.queryId);import requests
import time
# Initialize search
search_response = requests.post('/api/search', json={
'username': 'john'
})
search_data = search_response.json()
query_id = search_data['queryId']
print(f"Search initiated: {query_id}")
# Poll for results
while True:
response = requests.get(f'/api/search?id={query_id}')
data = response.json()
if data['status'] == 'completed':
print("Results:", data['results'])
break
elif data['status'] == 'error':
print("Search failed:", data.get('error'))
break
else:
print(f"Status: {data['status']}")
time.sleep(1)# Initialize search
curl -X POST https://whatsmyname.ink/api/search \
-H "Content-Type: application/json" \
-d '{"username": "john"}'
# Response: {"queryId": "abc123", "status": "running", ...}
# Get results (replace abc123 with actual queryId)
curl https://whatsmyname.ink/api/search?id=abc123
# Get platform list
curl https://whatsmyname.ink/api/platformsComprehensive error codes and handling strategies for robust integrations.
200400429500Advertisement