Person Enrichment API
Person Endpoints
Person Enrichment API
Enrich person profiles using GitHub username, LinkedIn username, or email address
POST
Person Enrichment API
Endpoint
Authentication
string
required
Bearer token with your API key:
Bearer YOUR_API_KEYRequest Parameters
Request Body (JSON)
At least one identifier is required:string
GitHub username to search for.Example:
"torvalds"string
LinkedIn username to search for.Example:
"williamhgates"This is the LinkedIn profile slug (e.g., from linkedin.com/in/williamhgates).
string
Email address to search for in GitHub and LinkedIn profiles.Example:
"user@example.com"The API searches the
emails array in our data for matches across all requested websets.string[]
default:"[\"github\"]"
List of data sources to include in the enrichment.Available websets:
github- GitHub profile data (repos, commits, activity)linkedin- LinkedIn profile data (experience, education, certifications)
["github", "linkedin"]Identifier Priority: The API will try to find profiles by specific identifiers first (github, linkedin_username), then fall back to email search if not found.
Response
Success Response (200 OK)
Returns a JSON object containing the enriched profile data.string[]
Array of websets that successfully matched and returned data. For example:
["github"]object
Container object for all enriched profile data
object
GitHub profile data (when
"github" webset is requested and a match is found)integer
GitHub user ID
string
GitHub username
string
User’s full name
string
GitHub bio/description
object
Nested object containing detailed GitHub account information including avatar_url, company, location, followers, following, public_repos, public_gists, type, created_at, and updated_at
array
Array of names found across different sources
array
Array of email addresses associated with the profile
string
Primary email address
array
Array of social media account URLs
string
LinkedIn username
string
Location string from GitHub profile
object
Structured location data with city, state, country, country_code, latitude, longitude, postal_code, continent, label, and timezone
array
Array of repository objects with metadata (repo_id, full_name, name, description, language, stargazers_count, forks_count, created_at, updated_at, etc.)
array
Array of commit objects with sha, author_name, author_email, message, and related repository information
Additional fields may be present depending on the data available in the GitHub profile.
No Match Response (200 OK)
When no matching profile is found:Error Responses
All error responses follow the standard format with adetail field:
- 401 Unauthorized - Missing or invalid API key
- 403 Forbidden - Organization is inactive
- 422 Unprocessable Entity - Validation error (missing required parameters or invalid values)
- 429 Too Many Requests - Monthly request limit exceeded
- 500 Internal Server Error - Unexpected server error (e.g., Elasticsearch connection failed)
Examples
Sample Response
Best Practices
Data Freshness: GitHub data is refreshed monthly. Check the profile data for recent activity and timestamps.
Related
- GitHub Webset Guide - Overview, use cases, and features
- Quickstart - Get started in 5 minutes
- Introduction - Learn about People Context API