Contact information API
POST a name and an optional profile URL to api.invenitor.com. Get contacts when we have them. We do not invent addresses. One credit per completed find. MCP on monthly plans.
Endpoints
Customer endpoints. POST to look up contacts. GET for usage, key info, health, and pricing.
/api/v1/find/api/v1/usage/api/v1/key/info/api/v1/health/api/pricingQuick start
POST /api/v1/find with a name and an optional profile URL. You get emails, phones, and links when we have them.
curl -X POST https://api.invenitor.com/api/v1/find \
-H "Authorization: Bearer pf_live_..." \
-H "Content-Type: application/json" \
-d '{"full_name":"Jordan Lee","github_url":"https://github.com/example"}'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. A profile URL usually improves results.
{
"full_name": "Jordan Lee",
"github_url": "https://github.com/example",
"linkedin_url": "https://linkedin.com/in/example",
"company": "Example Co",
"location": "Mumbai, India"
}Response shape
JSON with the primary email, other addresses we found, phones, links, and credit usage.
{
"primary_email": "jordan@example.com",
"secondary_email": null,
"emails": [
{ "email": "jordan@example.com", "confidence": "high" }
],
"phones": [],
"social_links": {
"github": "https://github.com/example"
},
"credits_used": 1,
"credits_remaining": 19
}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.invenitor.com/api/v1/find",
headers={"Authorization": "Bearer pf_live_..."},
json={
"full_name": "Jordan Lee",
"github_url": "https://github.com/example",
}
)
data = resp.json()
print(data["primary_email"])const res = await fetch("https://api.invenitor.com/api/v1/find", {
method: "POST",
headers: {
"Authorization": "Bearer pf_live_...",
"Content-Type": "application/json"
},
body: JSON.stringify({
full_name: "Jordan Lee",
github_url: "https://github.com/example"
})
});
const data = await res.json();
console.log(data.primary_email);curl -X POST https://api.invenitor.com/api/v1/find \
-H "Authorization: Bearer pf_live_..." \
-H "Content-Type: application/json" \
-d '{"full_name":"Jordan Lee","github_url":"https://github.com/example"}'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.