API Documentation
Find verified personal emails, phone numbers, and social links for anyone. Give us a name and GitHub URL, get back structured contact data.
Endpoints
Every endpoint on api.coderscabana.com. POST to find contacts, GET for usage, key info, and health.
/api/v1/find/api/v1/usage/api/v1/key/info/api/v1/keys/create/api/v1/health/api/pricingQuick start
Make a POST request to /api/v1/find with a name and GitHub URL. Get back verified emails, phones, and social links.
curl -X POST https://api.coderscabana.com/api/v1/find \
-H "Authorization: Bearer pf_live_..." \
-H "Content-Type: application/json" \
-d '{"full_name":"Aakash K","github_url":"https://github.com/aakashk"}'Authentication
Pass your API key as a Bearer token in the Authorization header, or use the x-api-key header. Keys start with pf_live_ (production) or pf_test_ (test).
# Bearer token Authorization: Bearer pf_live_xxxxxxxxxxxxxxxx # Or x-api-key header x-api-key: pf_live_xxxxxxxxxxxxxxxx
Request parameters
All parameters are optional except full_name. GitHub URL is strongly recommended for the best hit rate.
{
"full_name": "Rahul Sharma", // required
"github_url": "https://github.com/rahulsharma", // recommended
"linkedin_url": "https://linkedin.com/in/rahulsharma",
"company": "Google",
"location": "Mumbai, India",
"include_social": true, // default: true
"include_company_email": false // default: false
}Response shape
The API returns a JSON object with the primary email, all discovered emails, phones, social links, and credit usage.
{
"primary_email": "aakash@gmail.com",
"secondary_email": null,
"pick_confidence": "high",
"pick_reasoning": "Personal gmail matching name",
"emails": [
{
"email": "aakash@gmail.com",
"source": "github_commits_api",
"confidence": "high",
"verified": "verified"
}
],
"phones": [
{
"phone": "+919876543210",
"source": "portfolio_tel",
"confidence": "high"
}
],
"social_links": {
"github": "https://github.com/aakashk",
"portfolio": ["https://aakash.dev"]
},
"credits_used": 1,
"credits_remaining": 98
}Rate limiting
Rate limits are per-key, per-minute. Starter 20, Growth 60, Scale 120, Enterprise 300. Going over returns 429. Repeated violations auto-ban the key.
# Response headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 45
X-RateLimit-Reset: 1690000000
# When exceeded
HTTP/1.1 429 Too Many Requests
{"detail": "Rate limit exceeded"}Error codes
Standard HTTP status codes. Error responses include a detail field explaining what went wrong.
400 Invalid request body 401 Missing or invalid API key 402 Insufficient credits 403 Key banned or IP not allowed 429 Rate limit exceeded 500 Internal server error
SDK Examples
Copy-paste examples in Python, JavaScript, and cURL. Swap the Bearer token for your own key.
import httpx
resp = httpx.post(
"https://api.coderscabana.com/api/v1/find",
headers={"Authorization": "Bearer pf_live_..."},
json={
"full_name": "Rahul Sharma",
"github_url": "https://github.com/rahulsharma",
"include_social": True
}
)
data = resp.json()
print(data["primary_email"]) # rahul@gmail.comconst res = await fetch("https://api.coderscabana.com/api/v1/find", {
method: "POST",
headers: {
"Authorization": "Bearer pf_live_...",
"Content-Type": "application/json"
},
body: JSON.stringify({
full_name: "Rahul Sharma",
github_url: "https://github.com/rahulsharma"
})
});
const data = await res.json();
console.log(data.primary_email); // rahul@gmail.comcurl -X POST https://api.coderscabana.com/api/v1/find \
-H "Authorization: Bearer pf_live_..." \
-H "Content-Type: application/json" \
-d '{"full_name":"Rahul Sharma","github_url":"https://github.com/rahulsharma"}'Credit costs
One completed find costs 1 credit. Social links and company email search are included. Viewing Usage or Billing does not spend credits.
Ready to start?
Sign in with Google to get your API key from the dashboard.