Developer tools · Coming soon

GitHub Repositories & Users Search

Search GitHub with its own search syntax. Get one row per repository or per user. You need no GitHub account or token.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

typerepository
queryapify actor
fullNameapify/apify-cli

How it will work: 3 steps

  1. Follow us on ApifyThe tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
  2. Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example: repositories in What to search. Each start is one run.
  3. Download the resultsWhen the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

What it does

Search GitHub repositories or GitHub users with GitHub's own search syntax and get clean rows: stars, forks, language, topics, licence and last push for repositories, or name, company, location, followers and public repos for users. No login and no token needed.

  • Repositories mode: one row per repository with fullName, url, description, stars, forks, language, topics, license, pushedAt and more.
  • Users mode: one row per user or organisation with login, url, name, company, location, followers, publicRepos and more. Profile details come from the public GitHub profile.

Good for

  • Find the most-starred repositories for a topic or language, for example web scraper language:python sorted by stars.
  • Track tools in your niche: repositories with a topic, licence or recent activity (pushed:>2026-01-01).
  • Build a list of public developer profiles by location and language, for example location:berlin language:rust, sorted by followers.

Not a good fit

  • No code search, issues, pull requests, commits or README text. Only repositories and users.
  • No emails and no private data. Only public fields that GitHub shows to anyone.
  • GitHub returns at most 1,000 results per query. To get more, split the query, for example by created: date ranges or by language:.
  • Without a token, GitHub gives about 60 full profile lookups per hour to the shared Apify IP. Bigger users runs still finish, but some profiles are partial or unavailable (see Limits).

Who uses it

Developers

Find popular tools for a topic or language, sorted by stars.

Market analysts

Track repositories in your niche by topic, licence or recent activity.

Recruiters

Build a list of public developer profiles by place and language.

Price

Prices will be shown after release.

Questions

Do I need a GitHub account or token?

No. It works without a login. A token only gives you your own GitHub quota.

Does it return email addresses?

No. It never reads the email field. It also removes emails from bio, blog and company text.

Can I search code, issues or pull requests?

No. It searches repositories and users only.

How many results can I get?

GitHub returns up to 1,000 results for one query. Split the query by date or language to get more.

How fresh is the data?

Each row is read from GitHub at run time; fetchedAt shows when. Star and follower counts change all the time.

Is the result complete?

You get what GitHub search returns for your query, up to 1,000 results. GitHub can report incomplete_results when its search times out; the summary then shows a warning.

Can I use the data for outreach?

Use profile data only within GitHub's Acceptable Use Policies and your local privacy law. Do not use it for spam or resell personal information.

Details

Step by step on Apify
  1. Open the Input tab.
  2. Keep What to search (mode) as repositories.
  3. Keep the prefilled Search query (query) apify actor, or type your own query.
  4. Keep Max results (maxItems) at the prefilled 10.
  5. Click Start.
  6. Open the Repositories view of the Dataset.
Use cases
TaskInputYou getKey fieldsNext step
Find popular projects for a topicmode=repositories, query, sort=starsRepositoryfullName, stars, language, topicsExport to CSV or Google Sheets
Watch recent activity in a nichequery with pushed:>YYYY-MM-DD, sort=updatedRepositoryfullName, pushedAt, isArchivedSchedule the run and compare Datasets
Build a list of public developer profilesmode=users, query with location: and language:, sort=followersUserlogin, name, location, company, followersYour CRM or spreadsheet
Tips for better results
  • Add a date like pushed:>2026-01-01 to find active repositories.
  • GitHub gives up to 1,000 results per query. Split big topics by language or date.
  • Add your own token if you search many users. It gives you your own quota.
Limits and good to know
  • A failed run (for example a broken query) costs only the start
  • Every saved user row is charged once, whatever its detailsStatus
  • Set Maximum cost per run in the run options to cap the cost. The Actor stops when the next row would go over it and saves what fits
  • The default run timeout is 300 seconds. The Actor stops searching and saving at about 240 seconds so that the run ends cleanly
  • maxItems is 1–1000. Users mode was tested up to 500 rows in one run without a token
  • GitHub sometimes asks the shared Apify IP to slow down (a "secondary rate limit"). The Actor then waits about a minute and continues. Your cost does not change: you pay per saved row, not per second
  • Without a token, GitHub allows about 10 searches per minute (100 results each) and about 60 full profile lookups per hour for the shared IP. GitHub documents higher limits for requests made with a token

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one result · JSON
{
  "type": "repository",
  "query": "apify actor",
  "rank": 5,
  "id": 117851913,
  "fullName": "apify/apify-cli",
  "name": "apify-cli",
  "owner": "apify",
  "ownerType": "Organization",
  "url": "https://github.com/apify/apify-cli",
  "description": "Apify command-line interface helps you create, develop, build and run Apify Actors, and manage the Apify cloud platform.",
  "homepage": "https://docs.apify.com/cli",
  "stars": 259,
  "forks": 69,
  "openIssues": 176,
  "watchers": 259,
  "language": "TypeScript",
  "topics": ["apify", "command-line", "hacktoberfest", "headless-chrome", "puppeteer", "serveless"],
  "license": "Apache-2.0",
  "licenseName": "Apache License 2.0",
  "isFork": false,
  "isArchived": false,
  "isTemplate": false,
  "defaultBranch": "master",
  "sizeKb": 20339,
  "createdAt": "2018-01-17T15:05:58Z",
  "updatedAt": "2026-10-14T22:40:34Z",
  "pushedAt": "2026-10-16T20:23:39Z",
  "source": "GitHub REST API (api.github.com)",
  "fetchedAt": "2026-10-17T11:42:29.711Z"
}
Data fields (40)
FieldTypeMeaning
typestringRow type: repository or user.
querystringThe search query that returned this row.
rankintegerPosition in GitHub's result order for this query and sort (1 = first).
idintegerGitHub numeric ID of the repository or account.
fullNamestringRepository owner/name, e.g. apify/crawlee.
namestringRepository name (repositories) or display name from the profile (users); null if not set.
ownerstringLogin of the repository owner.
ownerTypestringOwner account type: User or Organization.
urlstringPublic github.com page of the repository or account.
descriptionstringRepository description; null if empty.
homepagestringRepository homepage URL set by the owner; null if empty.
starsintegerStargazer count. 0 means none; null means GitHub did not return it.
forksintegerFork count.
openIssuesintegerOpen issues plus open pull requests, as GitHub counts them.
watchersintegerWatchers as reported by the search API (equals stars on GitHub).
languagestringPrimary language detected by GitHub; null if none.
topicsarrayRepository topics; empty list if none.
licensestringSPDX licence ID such as MIT or Apache-2.0; null when no licence or GitHub could not classify it.
licenseNamestringLicence name as GitHub shows it, including "Other".
isForkbooleantrue if the repository is a fork.
isArchivedbooleantrue if the repository is archived (read-only).
isTemplatebooleantrue if the repository is a template.
defaultBranchstringDefault branch name.
sizeKbintegerRepository size in KB as reported by GitHub.
createdAtstringWhen the repository or account was created (ISO 8601). Users: null when details came from web search.
updatedAtstringLast metadata update (ISO 8601).
pushedAtstringLast push to any branch (ISO 8601) — the best signal of recent activity.
loginstringAccount login (users).
accountTypestringUser or Organization.
avatarUrlstringAvatar image URL.
companystringCompany field from the public profile, free text such as "@github". null when not set or when details came from web search.
locationstringLocation field from the public profile, free text.
biostringProfile bio; email addresses are replaced with [email removed].
blogstringWebsite link from the profile; null when empty or an email address.
twitterUsernamestringX/Twitter username from the profile.
followersintegerFollower count.
followingintegerNumber of accounts followed (API details only).
publicReposintegerPublic repository count.
publicGistsintegerPublic gist count (API details only).
hireablebooleantrue if the user marked themselves available for hire; null if not set.
Input settings (7)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
What to searchmodestring"repositories"
Search query requiredquerystring"apify actor"
Sort bysortstring"best-match"
Orderorderstring"desc"
Max resultsmaxItemsinteger10
Add profile details (users mode)includeUserDetailsbooleantrue
GitHub token (optional)githubTokenstring

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure