Skip to main content
POST
https://api.peoplecontext.com
/
v1
/
person
/
enrich
Person Enrichment API
curl --request POST \
  --url https://api.peoplecontext.com/v1/person/enrich \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "github": "<string>",
  "email": "<string>",
  "websets": [
    {}
  ]
}
'
{
  "person": {
    "person.github": {
      "person.github.github_username": "<string>",
      "person.github.full_name": "<string>",
      "person.github.names": [
        {}
      ],
      "person.github.emails": [
        {}
      ],
      "person.github.bio": "<string>",
      "person.github.location": "<string>",
      "person.github.company": "<string>",
      "person.github.followers": 123,
      "person.github.following": 123,
      "person.github.public_repos": 123,
      "person.github.repos": [
        {}
      ]
    }
  },
  "websets_matched": [
    {}
  ],
  "400 Bad Request": {},
  "401 Unauthorized": {},
  "429 Too Many Requests": {},
  "500 Internal Server Error": {}
}

Endpoint

POST /v1/person/enrich
This endpoint enriches a person’s profile by searching GitHub data using either a GitHub username or email address.

Authentication

Authorization
string
required
Bearer token with your API key: Bearer YOUR_API_KEY
See the Authentication Guide for detailed setup instructions.

Request Parameters

Request Body (JSON)

At least one identifier is required:
github
string
GitHub username to search for.Example: "torvalds"
email
string
Email address to search for in GitHub profiles.Example: "[email protected]"
The API searches the emails array in our GitHub data for matches.
websets
array
default:"[\"github\"]"
List of data sources to include in the enrichment.Available websets:
  • github - GitHub profile data (currently the only supported option)
Example: ["github"]
Identifier Priority: If both github and email are provided, the API will try to find by GitHub username first, then fall back to email search if not found.

Response

Success Response (200 OK)

Returns a JSON object containing the enriched profile data.
person
object
Container object for all enriched profile data
person.github
object
GitHub profile data (when "github" webset is requested and a match is found)
person.github.github_username
string
GitHub username
person.github.full_name
string
User’s full name
person.github.names
array
Array of names found across different sources
person.github.emails
array
Array of email addresses associated with the profile
person.github.bio
string
GitHub bio/description
person.github.location
string
Location string from GitHub profile
person.github.company
string
Company name from GitHub profile
person.github.followers
integer
Number of GitHub followers
person.github.following
integer
Number of accounts the user follows
person.github.public_repos
integer
Number of public repositories
person.github.repos
array
Array of repository objects with metadata (name, description, language, stars, forks, etc.)
Additional fields may be present depending on the data available in the GitHub profile.
websets_matched
array
Array of websets that successfully matched and returned data. For example: ["github"]

No Match Response (200 OK)

When no matching profile is found:
{
  "person": {},
  "websets_matched": []
}

Error Responses

400 Bad Request
error
Missing required parameters or invalid parameter values
401 Unauthorized
error
Invalid or missing API key
429 Too Many Requests
error
Rate limit exceeded
500 Internal Server Error
error
Server error occurred

Examples

# Enrich by GitHub username
curl -X POST "https://api.peoplecontext.com/v1/person/enrich" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"github": "torvalds", "websets": ["github"]}'

# Enrich by email
curl -X POST "https://api.peoplecontext.com/v1/person/enrich" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"email": "[email protected]", "websets": ["github"]}'

Sample Response

{
  "person": {
    "github": {
      "github_username": "torvalds",
      "full_name": "Linus Torvalds",
      "names": ["Linus Torvalds"],
      "emails": ["[email protected]", "[email protected]"],
      "bio": "Creator of Linux and Git",
      "location": "Portland, OR",
      "company": "@linuxfoundation",
      "followers": 180000,
      "following": 0,
      "public_repos": 6,
      "repos": [
        {
          "id": 2325298,
          "name": "linux",
          "full_name": "torvalds/linux",
          "description": "Linux kernel source tree",
          "language": "C",
          "stargazers_count": 150000,
          "forks_count": 48000,
          "topics": ["kernel", "linux", "operating-system"]
        }
      ]
    }
  },
  "websets_matched": ["github"]
}

Best Practices

Email Search for Lead Enrichment: If you have email addresses but not GitHub usernames, you can still find profiles by searching with the email parameter. The API searches the emails array in our GitHub data.
Rate Limits: API requests are subject to rate limits based on your organization’s plan. Monitor your monthly request count to avoid hitting limits.
Data Freshness: GitHub data is refreshed monthly. Check the profile data for recent activity and timestamps.