Is there a workaround to get the list of organizations on GitHub?
For example: https://github.com/showcases/open-source-organizations
How can we do that via the GitHub API or GitHub search?
Is there a workaround to get the list of organizations on GitHub?
For example: https://github.com/showcases/open-source-organizations
How can we do that via the GitHub API or GitHub search?
You can get a list of all accounts:
https://developer.github.com/v3/users/#get-all-users
The type
parameter will tell you if it's a user or organization.
An alternative is to use the search API:
https://developer.github.com/v3/search/#search-users
You can specify type:org
to get organizations only:
On June 17, 2015 GitHub added a new API to get organizations:
curl https://api.github.com/organizations
[
{
"login": "github",
"id": 9919,
"url": "https://api.github.com/orgs/github",
"repos_url": "https://api.github.com/orgs/github/repos",
"events_url": "https://api.github.com/orgs/github/events",
"members_url": "https://api.github.com/orgs/github/members{/member}",
"public_members_url": "https://api.github.com/orgs/github/public_members{/member}",
"avatar_url": "https://avatars.githubusercontent.com/u/9919?v=3",
"description": "GitHub, the company."
},
...
]
Additional information can be found on the following link:
Lists all organizations, in the order that they were created on GitHub.
Note: Pagination is powered exclusively by the since
parameter. Use the Link header to get the URL for the next page of organizations.
Parameters
Response
Status: 200 OK
Link: <https://api.github.com/organizations?since=135>; rel="next"
X-RateLimit-Limit: 5000
X-RateLimit-Remaining: 4999
----------------------------------------------------------------------
[
{
"login": "github",
"id": 1,
"url": "https://api.github.com/orgs/github",
"avatar_url": "https://github.com/images/error/octocat_happy.gif",
"description": "A great organization"
}
]
Note that it's also possible to use Github GraphQL v4 to request organization using :
{
search(query: "type:org", type: USER, first: 100) {
userCount
nodes {
... on Organization {
name
createdAt
description
}
}
}
}
I ran into similar problems with you and maybe I get an answer from github API doc now.
Detail Doc in this: https://developer.github.com/v3/search/#search-users
There are several parameters that can be used.
q
: (string). The search terms.sort
: (string). The sort field. Can be followers
, repositories
, or joined
. Default: results are sorted by best match.order
: (string). The sort order if sort parameter is provided. One of asc
or desc
. Default: desc
The q
search term can also contain any combination of the supported user search qualifiers as described by the in-browser user search documentation and search syntax documentation:
type
With this qualifier you can restrict the search to just personal accounts (user
) or just organization accounts (org
).in
Qualifies which fields are searched. With this qualifier you can restrict the search to just the username (login
), public email (email
), full name (fullname
), or any combination of these.repos
Filters users based on the number of repositories they have.location
Filter users by the location indicated in their profile.language
Search for users that have repositories that match a certain language.created
Filter users based on when they joined.followers
Filter users based on the number of followers they have.For your problem, you can try this example and change it.
For example:
https://api.github.com/search/users?q=language:objective-c+type:org&page=1
Request GET and return format data (json). Page parameter can be changed to get more pages of results (but no more than 1000, according current API doc).
You can check this https://medium.com/@harshitsinghai77/demystifying-github-api-to-fetch-the-top-3-repositories-by-stars-using-node-js-aef8818551cb to have a clear understanding.
Use this request https://api.github.com/graphql :
query {
enterprise(slug: "ENTERPRISE_SLUG") {
organizations(first: 100) {
nodes {
name
url
}
}
}
}
© 2022 - 2024 — McMap. All rights reserved.