Skip to main content
POST
/
v1
/
person
/
discover
Person Discovery API
curl --request POST \
  --url https://api.peoplecontext.com/v1/person/discover \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "linkedin": "<string>",
  "github": "<string>",
  "twitter": "<string>",
  "url": "<string>"
}
'
{
  "socials": [
    {
      "platform": "<string>",
      "username": "<string>",
      "link": "<string>",
      "confidence": 123,
      "context": {}
    }
  ]
}

Endpoint

POST /v1/person/discover
Given a username or profile URL for any supported platform, this endpoint discovers the same person’s profiles on the other platforms using index lookups, search, and entity matching.

Authentication

Authorization
string
required
Bearer token with your API key: Bearer YOUR_API_KEY

Request Parameters

Request Body (JSON)

Provide exactly one of the following fields:
linkedin
string
LinkedIn username or profile URL.Examples: "williamhgates", "https://www.linkedin.com/in/williamhgates"
github
string
GitHub username or profile URL.Examples: "torvalds", "https://github.com/torvalds"
twitter
string
Twitter/X username or profile URL.Examples: "elonmusk", "https://x.com/elonmusk"
url
string
A profile URL from any supported platform. The platform is auto-detected from the URL.Examples: "https://github.com/torvalds", "https://linkedin.com/in/williamhgates", "https://x.com/elonmusk"
You must provide exactly one identifier. Sending zero or more than one will return a 400 error.

Response

Success Response (200 OK)

socials
array
Array of discovered social profiles. The input profile is always included first with a confidence of 1.0.
platform
string
Platform identifier: "github", "linkedin", or "twitter".
username
string
Username on the platform (without URL prefix).
Full profile URL.
confidence
number
Confidence score from 0.0 to 1.0 that the profile belongs to the same person. The input profile always has confidence 1.0. Only discovered profiles scoring >= 0.45 are returned.
context
string | null
Rich text summary of the profile, including bio, headline, experience, skills, and other relevant data. Useful for downstream enrichment or display. May be null if profile data is unavailable.

Error Responses

  • 400 Bad Request - Must provide exactly one identifier (linkedin, github, twitter, or url)
  • 401 Unauthorized - Missing or invalid API key
  • 429 Too Many Requests - Rate limit or quota exceeded

Examples

curl -X POST "https://api.peoplecontext.com/v1/person/discover" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"github": "torvalds"}'

Sample Response

{
  "socials": [
    {
      "platform": "github",
      "username": "torvalds",
      "link": "https://github.com/torvalds",
      "confidence": 1.0,
      "context": "name: Linus Torvalds\n- username: torvalds\n- url: github.com/torvalds\n- company: Linux Foundation\n- location: Portland, OR\n..."
    },
    {
      "platform": "linkedin",
      "username": "linustorvalds",
      "link": "https://linkedin.com/in/linustorvalds",
      "confidence": 0.95,
      "context": "name: Linus Torvalds\n- headline: Fellow at Linux Foundation\n..."
    },
    {
      "platform": "twitter",
      "username": "Linus__Torvalds",
      "link": "https://x.com/Linus__Torvalds",
      "confidence": 0.87,
      "context": "name: Linus Torvalds\n- username: @Linus__Torvalds\n- bio: Creator of Linux and Git\n..."
    }
  ]
}