GitHub User Search Help

The GitHub User Search streamlines discovering and connecting with GitHub users who match your search criteria. The search is restricted to public personal accounts only (not organizations).

GitHub search distinguishes between searching users' general information and searching within special fields. Keywords are used to search general information which includes usernames, names, emails, and bios. Reserved words called “qualifiers” are used to search in specific fields. Most of the fields are not accessible by keywords and can be searched only with qualifiers.

A query may include keywords, qualifiers, and sort parameters.
The search engine ignores case distinctions in keywords.
The search returns the first 1000 results. By default, the results are sorted by the best match, as determined by the GitHub's internal algorithms.

Qualifiers

Here's the full list of GitHub qualifiers applicable to user search, and the fields they search:

Qualifier Field Example
username (login) user:braingain finds a user with the username "braingain" (has to be an exact match)
username (login) braingain in:login or in:login braingain finds users whose username starts with "braingain". Unlike , the username does not have to match exactly. E.g., braingain in:login finds several users including "braingain", "bragainsoft", "braingains", etc.
email irina in:email or in:email irina finds users whose official email addresses contain the word "irina" in the local part (the segment before the '@' symbol). The domain part (after the '@') is not searchable.
name Irina in:name or in:name Irina finds users whose name contains the word "Irina"
name fullname:john smith finds users whose name contains the words "john smith". Very similar to: "john smith" in:name
location location:Boston finds users whose location contains the word "Boston" or "boston".
public repositories language:python finds users whose primary language is Python. A primary language is usually the most frequent programming language in their public repositories.
public repositories repos:>1000 finds users with more than 1000 public repositories
followers followers:>1000 finds users with more than 1000 followers
created created:>2020-01-01 finds users who joined Github after 01/01/2020
sponsorable is:sponsorable finds users who have a Github Sponsors profile
applies to: followers, repositories, joined repos:>10000 sort:followers or repos:>10000 sort:followers-desc finds users who have more than 10000 public repositories and sorts them by the number of followers. To sort in the ascending order: repos:>10000 sort:followers-asc
language:python location:Barcelona sort:repositories finds Python developers in Barcelona and sorts them by the number of repositories.
"sailpoint developer" sort:joined-asc finds sailpoint developers and sorts them by the date they joined GitHub, oldest first.

Please refer to the GitHub users search documentation for more examples.

Constructing a Search Query

A query can include search terms (keywords and qualifiers) and Boolean operators. The operators AND, OR, NOT can be used explicitly only when both operands are keywords or in: qualifiers (in:login, in:name, in:email).
Other qualifiers are treated separately and differently:

  • NOT is represented as (the minus sign)
  • Using the same qualifier in a query two or more times is interpreted as 'OR'. The operator OR cannot be used explicitly.
  • Combining two different qualifiers, or a qualifier and a keyword, is interpreted as 'AND'. The operator AND cannot be used explicitly.

The table below provides details and examples.
Boolean Operator Example
Keywords
may be omitted backend microservices finds users whose information (name, username, email, or bio) contains "backend" and "microservices". The same as backend AND microservices
"front-end developer" OR "ui developer" finds users whose information contains "front-end developer" or "ui developer"
embedded NOT firmware finds users whose information contains "embedded" but not "firmware"
in: qualifiers
Applies to in:login, in:name, and in:email. Same behavior as keywords but limited to login, name, and email fields respectively. No need to repeat the qualifer itself. The word order does not matter.
may be omitted Galley in:name Dave in:name or Galley Dave in:name finds users whose name contains both the word "Galley" and the word "Dave". Same as Dave AND Galley in:name
braingain in:login OR juliatv in:login or braingain in:login OR juliatv finds users whose username starts with "braingain" or "juliatv"
Galley in:name NOT Dave in:name or in:name Galley NOT Dave finds users whose name contains the word "Galley" but not the word "Dave"
Other qualifiers
is implied for different qualifiers or a qualifier and a keyword location:"san francisco" language:python finds users in San Francisco whose primary language is Python
"java developer" location:barcelona finds users in Barcelona with the words "java developer" in their info.
is implied for the same qualifier location:"new jersey" location:"new york" finds users in either New Jersey or New York.
(the minus sign) location:iceland -location:Reykjavik finds users who indicate their location as Iceland but not Reykjavik
-language:python finds users whose primary language is not Python.
GitHub search limitations
  • The total length of a query cannot exceed 256 characters.
  • Do not use parentheses: the search will not return any results.
  • It is impossible to use the same qualifier in an AND statement: location:"San Francisco" AND location:"Bay Area" results in an error, while location:"San Francisco" location:"Bay Area" is interpreted as OR.
  • It is impossible to use different qualifiers in an OR statement: fullname:irina OR user:braingain results in an error, while fullname:irina user:braingain is interpreted as AND.
  • It is impossible to use a qualifier and a keyword in an OR statement: language:java OR "java developer" does not return results, while language:java "java developer" is interpreted as AND.
  • Do not use operators AND and OR in the same query; the result will not be what you expect. For example: "real time embedded systems" returns 29 results. "real time embedded systems" engineer returns 14. "real time embedded systems" developer returns 1. But "real time embedded systems" engineer OR developer returns 29 again! The query "real time embedded systems" engineer OR "real time embedded systems" developer returns 1 result (developer).
  • You cannot use more than five AND, OR, NOT operators in a query.
    This rule applies only to the actual words "AND", "OR", "NOT". Using (the minus sign) or omitting an operator does not count towards this limitation.
    For example, student AND phd AND computer AND graphics AND engineer AND software AND rendering results in an error but the semantically equivalent student phd computer graphics engineer software rendering produces a result.
    More than five negations expressed as are successfully used in this example: location:"silicon valley" -language:java -language:c++ -language:python -language:javascript -language:html -language:php.

The blog post The Best Github Tool In Industry discusses typical mistakes and how to avoid them.

Want to learn more about GitHub? Check out our class Leveraging GitHub: Advanced Data Mining and User Profiling.
For an in-depth dive into technical sourcing with a focus on the GitHub search, get our Three-Day Tech Sourcing Bootcamp or sign up for the next live class.