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
Bearer token with your API key:
Bearer YOUR_API_KEYRequest Parameters
Request Body (JSON)
At least one identifier is required:GitHub username to search for.Example:
"torvalds"LinkedIn username to search for.Example:
"williamhgates"This is the LinkedIn profile slug (e.g., from linkedin.com/in/williamhgates).
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.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.Array of websets that successfully matched and returned data. For example:
["github"]Container object for all enriched profile data
GitHub profile data (when
"github" webset is requested and a match is found)GitHub user ID
GitHub username
User’s full name
GitHub bio/description
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 of names found across different sources
Array of email addresses associated with the profile
Primary email address
Array of social media account URLs
LinkedIn username
Location string from GitHub profile
Structured location data with city, state, country, country_code, latitude, longitude, postal_code, continent, label, and timezone
Array of repository objects with metadata (repo_id, full_name, name, description, language, stargazers_count, forks_count, created_at, updated_at, etc.)
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