Datasets API endpoint
Returns one GitHub user from the dataset by `login`, with profile fields (name, bio, company, blog, location, email), follower, repo and 30-day activity counts, `influence_tier`, `rank_score`, geo, linked social accounts and bot or organisation flags. An unknown login returns 404.
/datasets/github-users/items/{login}Returns one enriched GitHub user record by login.
Dataset id enum:
github-usersPath parameters:
login: required GitHub login, max 128 characters.Response behavior:
404 when the login is not present in the stored dataset.| Field | In the sample | Value in the sample |
|---|---|---|
| login | Has a value | |
| id | Has a value | |
| type | Has a value | |
| name | Has a value | |
| company | Has a value | |
| company_normalized | Has a value | |
| blog | Has a value | anthropic.com |
| hireable | Has a value | false |
| avatar_url | Has a value | avatars.githubusercontent.com |
| html_url | Has a value | github.com |
| has_email | Has a value | false |
| has_twitter | Has a value | false |
| has_blog | Has a value | true |
| social_count | Has a value | 0 |
| reachable | Has a value | true |
| followers | Has a value | 124,709 |
| following | Has a value | 0 |
| follower_following_ratio | Has a value | 124,709 |
| public_repos | Has a value | 0 |
| public_gists | Has a value | 0 |
| created_at | Has a value | 2009-05-07 |
| account_age_years | Has a value | 17.1 |
| last_active_at | Has a value | 2026-06-22 |
| active_90d | Has a value | true |
| pushes_30d | Has a value | 945 |
| prs_30d | Has a value | 249 |
| reviews_30d | Has a value | 6 |
| influence_tier | Has a value | |
| rank_score | Has a value | 7,611 |
| is_org | Has a value | false |
| is_bot | Has a value | false |
| is_suspected_automation | Has a value | false |
| crawled_at | Has a value | 2026-06-23 |
| schema_version | Has a value |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| login (path) | string | Yes | GitHub login, max 128 characters | claude | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/github-users/items/claude" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"login": "octodev",
"name": "Octo Dev",
"company_normalized": "google",
"blog": "https://octo.dev",
"twitter_username": "octodev",
"influence_tier": "mid",
"geo": {
"country": "Germany",
"country_code": "DE",
"city": "Berlin"
},
"followers": 1200,
"public_repos": 60,
"account_age_years": 10,
"reachable": true,
"domains": [
"ml-ai"
],
"rank_score": 88
}
}Request schema
No body schema
Response schema
#/definitions/datasets.githubUserResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | es.GithubUserRecord | No | ||||
| data.account_age_years | number | No | Age of the account in years, to one decimal, at the time of `crawled_at`. | |||
| data.active_90d | boolean | No | Whether the user's latest activity was within 90 days of `crawled_at`. | |||
| data.avatar_url | string | No | URL of the profile picture. | |||
| data.bio | string | No | Profile biography text. | |||
| data.blog | string | No | Website or blog address on the profile. | |||
| data.company | string | No | Employer name as written on the profile. | |||
| data.company_normalized | string | No | Company name cleaned for matching: lowercased, with any leading `@` removed. | |||
| data.crawled_at | string | No | Time the profile was fetched, in UTC (RFC 3339). | |||
| data.created_at | string | No | Time the GitHub account was created, in UTC (RFC 3339). | |||
| data.domains | array | No | Interest areas inferred from the profile text, for example `ml-ai`, `frontend` or `devops`. | |||
| data.email | string | No | Public email address on the profile. | |||
| data.follower_following_ratio | number | No | Followers divided by accounts followed, to two decimals. Equals `followers` when the user follows nobody. | |||
| data.followers | integer | No | Number of followers. | |||
| data.following | integer | No | Number of accounts the user follows. | |||
| data.geo | object | No | Place resolved from the profile location. | |||
| data.geo.city | string | No | Name of the city resolved from the profile location. | |||
| data.geo.country | string | No | Name of the country resolved from the profile location. | |||
| data.geo.country_code | string | No | Country code resolved from the profile location, for example `DE`. | |||
| data.geo.location | object | No | Coordinates of the resolved place. | |||
| data.geo.location.lat | number | No | Latitude in decimal degrees. | |||
| data.geo.location.lon | number | No | Longitude in decimal degrees. | |||
| data.geo.state | string | No | Name of the state or region resolved from the profile location. | |||
| data.has_blog | boolean | No | Whether the profile shows a website or blog. | |||
| data.has_email | boolean | No | Whether the profile shows a public email address. | |||
| data.has_twitter | boolean | No | Whether the profile shows a Twitter or X username. | |||
| data.hireable | boolean | No | Whether the user has marked themselves as available for hire. | |||
| data.html_url | string | No | Link to the user's GitHub profile page. | |||
| data.id | integer | No | Numeric GitHub user id. | |||
| data.influence_tier | string | No | Follower-based tier: `nano` (under 50), `micro` (50 to 499), `mid` (500 to 4,999), `macro` (5,000 to 49,999) or `mega` (50,000 or more). | |||
| data.is_bot | boolean | No | Whether the account is a bot. | |||
| data.is_org | boolean | No | Whether the account is an organization. | |||
| data.is_suspected_automation | boolean | No | Whether the account looks like a commit farm or mass repository generator. | |||
| data.last_active_at | string | No | Time of the user's latest recorded activity, in UTC (RFC 3339). | |||
| data.location_raw | string | No | Free-text location as written on the profile. | |||
| data.login | string | No | GitHub username of the account. | |||
| data.name | string | No | Display name on the profile. | |||
| data.prs_30d | integer | No | Number of pull request events the user had in the last 30 days. | |||
| data.public_gists | integer | No | Number of public gists. | |||
| data.public_repos | integer | No | Number of public repositories. | |||
| data.pushes_30d | integer | No | Number of pushes the user made in the last 30 days. | |||
| data.rank_score | integer | No | Overall notability score. Followers count most and recent activity adds a smaller amount. It is 0 for suspected automation. | |||
| data.reachable | boolean | No | Whether the profile shows any public way to make contact: email, Twitter or X, a website or a linked social account. | |||
| data.reviews_30d | integer | No | Number of pull request review events, including review comments, the user made in the last 30 days. | |||
| data.schema_version | integer | No | Version of the record layout. | |||
| data.social_accounts | array | No | Social accounts linked on the profile. | |||
| data.social_accounts[].provider | string | No | Social network the link points to. | |||
| data.social_accounts[].url | string | No | Link to the account on that network. | |||
| data.social_count | integer | No | Number of social accounts linked on the profile. | |||
| data.twitter_username | string | No | Twitter or X username on the profile. | |||
| data.type | string | No | Account type on GitHub, for example `User` or `Organization`. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/datasets/github-users/items/claude" \
-H "x-api-key: $CRAWLORA_API_KEY"