Skip to main content
GET
https://api.peoplecontext.com
/
v1
/
webset
/
github
GitHub Webset
curl --request GET \
  --url https://api.peoplecontext.com/v1/webset/github \
  --header 'Authorization: <authorization>'
{
  "user_id": 123,
  "github_username": "<string>",
  "first_name": "<string>",
  "middle_name": "<string>",
  "last_name": "<string>",
  "full_name": "<string>",
  "personal_email": "<string>",
  "school_email": "<string>",
  "work_email": "<string>",
  "other_emails": [
    {}
  ],
  "avatar_url": "<string>",
  "url": "<string>",
  "bio": "<string>",
  "blog": "<string>",
  "location": "<string>",
  "location_canonical": {},
  "company": "<string>",
  "hireable": true,
  "followers": 123,
  "following": 123,
  "public_repos": 123,
  "public_gists": 123,
  "created_at": "<string>",
  "updated_at": "<string>",
  "repos": [
    {}
  ],
  "commits": [
    {}
  ],
  "stars": [
    {}
  ],
  "issues": [
    {}
  ],
  "repo_languages": [
    {}
  ],
  "commit_count": 123,
  "follower_accounts": [
    {}
  ],
  "following_accounts": [
    {}
  ],
  "linkedin": {},
  "last_updated": "<string>",
  "400 Bad Request": {},
  "401 Unauthorized": {},
  "429 Too Many Requests": {},
  "500 Internal Server Error": {}
}

Endpoint

GET /v1/webset/github/person
POST /v1/webset/github/person
Both GET and POST methods are supported. Use POST for batch requests or when query strings become too long.

Authentication

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

Request Parameters

Identifier (Required)

github
string
required
GitHub user identifier. Can be:
  • Username (e.g., torvalds)
  • Full profile URL (e.g., https://github.com/torvalds)
  • User ID (e.g., 1024025)

Optional Parameters

addons
array
Additional data sources to include in the response.Available addons:
  • linkedin - Attach LinkedIn profile data for users with linked accounts (~5M mappings)
Example: addons=linkedin
must_have
array
Required fields that must be present in the profile. If any specified field is missing, returns an empty object {} and you are not charged.Multiple fields are treated as OR (profile must have at least one).Common fields:
  • personal_email - Must have a personal email
  • repos - Must have repositories
  • linkedin - Must have a LinkedIn mapping
  • location - Must have location data
Example: must_have=personal_email,repos

Response

Success Response (200 OK)

Returns a JSON object containing the enriched GitHub user profile.
user_id
integer
GitHub user ID
github_username
string
GitHub username
first_name
string
User’s first name (parsed from available data)
middle_name
string
User’s middle name
last_name
string
User’s last name (parsed from available data)
full_name
string
User’s full name
personal_email
string
Personal email address
school_email
string
School/university email address
work_email
string
Work email address
other_emails
array
Additional email addresses found
avatar_url
string
GitHub avatar image URL
url
string
GitHub profile URL
bio
string
GitHub bio/description
blog
string
Personal website/blog URL
location
string
Location string from GitHub profile
location_canonical
object
Structured location data with city, state, country, continent, coordinates
company
string
Company name from GitHub profile
hireable
boolean
Whether the user is marked as hireable
followers
integer
Number of GitHub followers
following
integer
Number of accounts the user follows
public_repos
integer
Number of public repositories
public_gists
integer
Number of public gists
created_at
string
Account creation date (ISO 8601)
updated_at
string
Last profile update date (ISO 8601)
repos
array
Array of repository objects with metadata (name, description, language, stars, forks, topics, etc.)
commits
array
Array of recent commits with author info, message, date, and repository context
stars
array
Array of starred repositories with metadata
issues
array
Array of issues created or commented on
repo_languages
array
List of programming languages used across repositories
commit_count
integer
Total number of commits
follower_accounts
array
Array of follower account objects
following_accounts
array
Array of accounts the user follows
linkedin
object
LinkedIn profile data (when addons=linkedin is specified). Includes professional experience, education, skills, certifications, and more.
last_updated
string
When this profile was last enriched (ISO 8601)

No Match Response (200 OK)

When no matching profile is found or required fields are missing:
{}

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

curl -X GET "https://api.peoplecontext.com/v1/webset/github/person?github=torvalds&addons=linkedin" \
  -H "Authorization: Bearer YOUR_API_KEY"

Sample Response

{
  "user_id": 1024025,
  "github_username": "torvalds",
  "first_name": "Linus",
  "last_name": "Torvalds",
  "full_name": "Linus Torvalds",
  "personal_email": "[email protected]",
  "avatar_url": "https://avatars.githubusercontent.com/u/1024025",
  "url": "https://github.com/torvalds",
  "bio": "Creator of Linux and Git",
  "blog": "https://torvalds-family.blogspot.com",
  "location": "Portland, OR",
  "location_canonical": {
    "city": "Portland",
    "state": "Oregon",
    "country": "United States",
    "country_code": "US",
    "continent": "North America",
    "latitude": 45.5152,
    "longitude": -122.6784
  },
  "company": "@linuxfoundation",
  "hireable": false,
  "followers": 180000,
  "following": 0,
  "public_repos": 6,
  "public_gists": 0,
  "created_at": "2011-09-03T15:26:22Z",
  "updated_at": "2025-09-01T12:00:00Z",
  "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"],
      "created_at": "2011-09-04T22:48:12Z",
      "updated_at": "2025-09-01T10:30:00Z"
    }
  ],
  "commits": [
    {
      "sha": "abc123...",
      "message": "Merge branch 'core-urgent-for-linus'",
      "author_name": "Linus Torvalds",
      "author_email": "[email protected]",
      "author_login": "torvalds",
      "author_date": "2025-08-30T15:22:10Z",
      "repo": {
        "full_name": "torvalds/linux",
        "language": "C"
      }
    }
  ],
  "repo_languages": ["C", "Assembly", "Makefile"],
  "commit_count": 35000,
  "last_updated": "2025-09-01T00:00:00Z",
  "linkedin": {
    "full_name": "Linus Torvalds",
    "headline": "Creator of Linux",
    "current_position": {
      "summary": "Fellow at Linux Foundation",
      "company": {
        "name": "Linux Foundation",
        "linkedin_url": "https://www.linkedin.com/company/the-linux-foundation"
      }
    }
  }
}

Best Practices

Use must_have to optimize costs: Only pay for profiles that meet your requirements. For example, must_have=personal_email ensures you only get charged for profiles with email addresses.
Rate Limits: API requests are subject to rate limits based on your plan. If you need higher limits, contact [email protected].
Data Freshness: GitHub data is refreshed monthly. Check the last_updated field to see when a profile was last enriched.