API reference
People search and contact API
Connecting people. Search for people in plain words, or POST a LinkedIn or GitHub profile link to look up one contact. 1 credit only when we return an email, a phone, or both. MCP for agents is on by default.
Endpoints
Customer endpoints. POST to look up contacts. GET for usage, key info, health, and pricing.
/api/v1/people/search/api/v1/people/searches/api/v1/find/api/v1/usage/api/v1/key/info/api/v1/health/api/pricingQuick start
POST /api/v1/find with a LinkedIn or GitHub profile link. A name helps too. 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","linkedin_url":"https://linkedin.com/in/example"}'People search
POST /api/v1/people/search with a plain-language query. You get up to 100 matching people with role, company, location, and profile links. The search spends a flat number of credits, shown on the pricing page. List past searches with GET /api/v1/people/searches.
curl -X POST https://api.invenitor.com/api/v1/people/search \
-H "Authorization: Bearer pf_live_..." \
-H "Content-Type: application/json" \
-d '{"query":"Senior backend engineers in Bengaluru with Go"}'
# Response (trimmed)
{
"search_id": "...",
"result_count": 100,
"results": [
{ "id": "...", "display_name": "...", "headline": "...", "company": "...", "profile_urls": ["..."] }
],
"credits_used": 20
}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
Send a LinkedIn or GitHub profile URL. A name is recommended. Company and location are optional.
{
"full_name": "Jordan Lee",
"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": {
"linkedin": "https://linkedin.com/in/example"
},
"credits_used": 1,
"credits_remaining": 19
}Rate limiting
Five lookups a minute per key, including the free signup credits. If you go faster, we ask you to wait about a minute.
# Response headers (IETF RateLimit-*)
RateLimit-Limit: 5
RateLimit-Remaining: 0
RateLimit-Reset: 1690000000
# When exceeded
HTTP/1.1 429 Too Many Requests
Retry-After: 60
{"detail": "You’re going a bit fast. Please wait about a minute."}Error codes
HTTP status on the response. Customer copy is in the detail field. See each row for a stable page anchor.
400Invalid request body401Missing or invalid API key402Insufficient credits403Key banned or IP not allowed429Rate limit exceeded500Internal server errorSDK 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",
"linkedin_url": "https://linkedin.com/in/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",
linkedin_url: "https://linkedin.com/in/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","linkedin_url":"https://linkedin.com/in/example"}'MCP for agents
Every account includes remote MCP. Agents call the same lookup as REST — 1 credit only when we return an email, a phone, or both. Read /mcp.md for Cursor, Claude, and ChatGPT setup. Longer notes on the MCP for hiring agents blog post.
Credit costs
1 credit only when we return an email, a phone, or both. Social links and company email search are included. Viewing Usage or Billing does not spend credits.
Questions
What is Invenitor?
Invenitor finds people. Describe who you need in plain words and get up to 100 matching people with role, company, experience, skills, and links. Open an email or phone when you want to reach someone. You can also paste one LinkedIn or GitHub profile link to get that person's contact.
Who is it for?
Recruiters, founders, sales and partnerships teams, investors, and researchers. Anyone who needs to find the right people and reach them, and wants to pay in INR. It is not a mailbox checker or an email sequencer.
How do I start?
Sign in with Google and confirm one WhatsApp number. New accounts get free credits: enough for one search and a few contacts. Buy more on https://invenitor.com/pricing. API docs: https://invenitor.com/docs. Agents: https://invenitor.com/mcp.md.
What can I search for?
Anyone you can describe. A role and a city, a skill and a level of experience, a title at a kind of company, an investor focus, a field of research. One search returns up to 100 people.
What are the three steps?
01 Describe — Sign in with Google. Write who you need in plain words: a role, a place, a skill, a company. Or paste one LinkedIn or GitHub profile link. 02 Review — Get up to 100 matching people with role, company, experience, skills, and links. Sort, filter, and shortlist the ones you want. 03 Connect — Open an email or phone when you are ready. You pay only when we find one, and it stays in Contacts. You never pay twice for the same person.
What does one credit buy?
1 credit only when we return an email, a phone, or both. Timeouts and errors do not spend credits. A search for up to 100 people is a flat price in credits, shown on https://invenitor.com/pricing.
Do I pay twice for the same person?
No. A contact you opened stays in Contacts. Opening the same person again, from any search, is free.
Can my team share credits?
Yes. Invite teammates to your workspace by link. Everyone searches and opens contacts from the same credit pool.
Can I use it from my own app or AI agent?
Yes. Every account includes the REST API and MCP. The same key runs people searches, looks up contacts, and checks your balance from Claude, Cursor, or your own code. Docs: https://invenitor.com/docs.
How do I call the API?
POST https://api.invenitor.com/api/v1/find with a Bearer key and a LinkedIn or GitHub profile URL in JSON. Copy-paste examples: https://invenitor.com/docs.
Does Invenitor include MCP?
Yes. Remote MCP is on by default on every account. Wire-up for Cursor, Claude, and other hosts: https://invenitor.com/mcp.md.
What profile URLs work?
Send a public LinkedIn profile URL or a GitHub profile URL. A full name in the JSON body helps narrow the lookup.
Ready to start?
Sign in with Google to get your API key from the dashboard.