Datasets API endpoint
Returns terms aggregation counts for the GitHub users dataset. Facet enum: `influence_tier`, `type`, `country`, `country_code`, `state`, `city`, `domains`, `company`, `reachable`, `has_email`, `has_twitter`, `has_blog`, `active_90d`, `hireable`, `is_org`, `is_bot`, `is_suspected_automation`. influence_tier enum: `nano`, `micro`, `mid`, `macro`, `mega`. Suspected-automation records are excluded by default unless is_suspected_automation is set.
/datasets/github-users/facetsReturns terms aggregation counts over the GitHub users dataset, honoring the same filters as search.
Dataset id enum:
github-usersQuery parameters:
facet: required facet to aggregate. Allowed values: influence_tier, type, country, country_code, state, city, domains, company, reachable, has_email, has_twitter, has_blog, active_90d, hireable, is_org, is_bot, is_suspected_automation.q: optional full-text query over login, name, company, bio and location, max 256 characters.login: optional exact login filter, max 128 characters.company: optional exact normalized-company filter, max 128 characters.influence_tier: optional follower-based tier filter. Allowed values: nano, micro, mid, macro, mega.country: optional exact geocoded country filter, max 128 characters.country_code: optional exact ISO country-code filter, max 128 characters.state: optional exact geocoded state/region filter, max 128 characters.city: optional exact geocoded city filter, max 128 characters.domain: optional interest-domain tag filter, max 128 characters.has_email: optional public-email presence filter.has_twitter: optional public Twitter/X handle presence filter.has_blog: optional public blog/website presence filter.reachable: optional filter for any public contact channel.active_90d: optional filter for activity within the last 90 days.hireable: optional filter for the GitHub available-for-hire flag.is_org: optional organization filter.is_bot: optional bot filter.is_suspected_automation: optional suspected-automation filter. When omitted these records are hidden by default (so all facet counts exclude them); pass true to isolate them.min_followers: optional minimum follower count.max_followers: optional maximum follower count.min_repos: optional minimum public repository count.min_rank_score: optional minimum composite rank score.min_account_age_years: optional minimum account age in years.max_account_age_years: optional maximum account age in years.lat: optional latitude for radius filtering.lon: optional longitude for radius filtering.radius_m: optional radius in meters, from 1 through 50000; requires lat and lon when supplied.sort: optional sort enum: relevance, rank_score_desc, followers_desc, account_age_desc, account_age_asc, distance_asc.Response behavior:
50 buckets ordered by descending count.facet is required; unsupported values return the standard invalid params envelope.reachable, has_email, has_twitter, has_blog, active_90d, hireable, is_org, is_bot, is_suspected_automation) return true/false bucket values.is_suspected_automation is set.items array (not an error) when the dataset has no data yet.| Field | Filled in, of 50 checked | Values in the sample |
|---|---|---|
| value | 50 | |
| count | 50 | 1,499 to 135,390, median 3,668 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| facet | string | Yes | Facet enum: influence_tier, type, country, country_code, state, city, domains, company, reachable, has_email, has_twitter, has_blog, active_90d, hireable, is_org, is_bot, is_suspected_automation Allowed values: influence_tier, type, country, country_code, state, city, domains, company, reachable, has_email, has_twitter, has_blog, active_90d, hireable, is_org, is_bot, is_suspected_automation. | influence_tier | |
| q | string | No | Full-text query over login, name, company, bio and location, max 256 characters | ||
| login | string | No | Exact login filter, max 128 characters | ||
| company | string | No | Exact normalized-company filter, max 128 characters | ||
| influence_tier | string | No | Follower-tier enum: nano, micro, mid, macro, mega Allowed values: nano, micro, mid, macro, mega. | ||
| country | string | No | Exact geocoded country filter, max 128 characters | ||
| country_code | string | No | Exact ISO country-code filter, max 128 characters | ||
| state | string | No | Exact geocoded state filter, max 128 characters | ||
| city | string | No | Exact geocoded city filter, max 128 characters | ||
| domain | string | No | Interest-domain tag filter, max 128 characters | ||
| has_email | boolean | No | Filter by public email presence | ||
| has_twitter | boolean | No | Filter by public Twitter/X handle presence | ||
| has_blog | boolean | No | Filter by public blog/website presence | ||
| reachable | boolean | No | Filter by any public contact channel | ||
| active_90d | boolean | No | Filter by activity within the last 90 days | ||
| hireable | boolean | No | Filter by the GitHub available-for-hire flag | ||
| is_org | boolean | No | Organization filter | ||
| is_bot | boolean | No | Bot filter | ||
| is_suspected_automation | boolean | No | Suspected automation filter; omitted these are hidden by default | ||
| min_followers | integer | No | Minimum follower count | ||
| max_followers | integer | No | Maximum follower count | ||
| min_repos | integer | No | Minimum public repository count | ||
| min_rank_score | integer | No | Minimum composite rank score | ||
| min_account_age_years | number | No | Minimum account age in years | ||
| max_account_age_years | number | No | Maximum account age in years | ||
| lat | number | No | Latitude for radius filtering | ||
| lon | number | No | Longitude for radius filtering | ||
| radius_m | integer | No | Radius in meters, 1 through 50000; requires lat and lon when supplied | ||
| sort | string | No | Sort enum: relevance, rank_score_desc, followers_desc, account_age_desc, account_age_asc, distance_asc Allowed values: relevance, rank_score_desc, followers_desc, account_age_desc, account_age_asc, distance_asc. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/datasets/github-users/facets?facet=influence_tier&q=coffee&influence_tier=nano&country=us&has_email=true&has_twitter=true&has_blog=true&reachable=true&active_90d=true&hireable=true&is_org=true&is_bot=true&is_suspected_automation=true&sort=relevance" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"dataset": "github-users",
"facet": "country",
"items": [
{
"value": "United States",
"count": 4210
},
{
"value": "Germany",
"count": 1875
},
{
"value": "India",
"count": 1610
}
]
}
}Request schema
No body schema
Response schema
#/definitions/datasets.githubUsersFacetResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | datasets.GithubUserFacetResponse | No | ||||
| data.dataset | string | No | Identifier of the dataset queried (`github-users`). | |||
| data.facet | string | No | Facet that was aggregated. | |||
| data.items | array | No | Facet values with the number of matching records for each. | |||
| data.items[].count | integer | No | Number of users with this value. | |||
| data.items[].value | string | No | Facet value being counted. | |||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/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/facets?facet=influence_tier&q=coffee&influence_tier=nano&country=us&has_email=true&has_twitter=true&has_blog=true&reachable=true&active_90d=true&hireable=true&is_org=true&is_bot=true&is_suspected_automation=true&sort=relevance" \
-H "x-api-key: $CRAWLORA_API_KEY"