github-trending-api

:octocat: The missing APIs for GitHub trending projects and developers ?

Github星跟蹤圖

GitHub closed issues
Travis
semantic-release
coverage
GitHub license
Code of Conduct

npm (scoped)
module formats: cjs, es Greenkeeper badge


Table of Contents

  • Hacker Tab (Chrome Store): Chrome extension to view GitHub trending projects on new tab.
  • github-trending-plus (Live): ✨ Experimental Github trending UI.
  • HitUp (Chrome Store) (Website): Help you find top things, including GitHub Trending Repositories.
  • Gitter: Gitter for GitHub - 可能是目前颜值最高的 GitHub 小程序客户端.
  • flutter_wanandroid:
    Flutter 完整项目,WanAndroid 客户端,BLoC、RxDart 、国际化、主题色、启动页、引导页,拥有较好的项目结构&比较规范的代码!
  • vsc-github-trending: (VS Code Marketplace): Explore Github Trending repositories directly from Visual Studio Code
  • GiTiny(AppStore): iOS app for GitHub with exploring trending.
  • SwiftHub: GitHub iOS client written in RxSwift and MVVM clean architecture.
  • GitNews: Trending repositories from GitHub, HackerNews & Reddit (Mobile & Desktop).
  • mini-github: GitHub WeChat Mini Program (可能是全网功能最全的 GitHub 微信小程序).

Backers

Thank you to all our backers! ? [Become a backer]

API Status

API status is available at uptimerobot.

REST API

See the full API documentation in Apiary.

Tutorial

How to scrape any website and build an API using cheerio.js

Receive an array of trending repositories.

URL Endpoint:

https://github-trending-api.now.sh/repositories?language=javascript&since=weekly

Parameters:

  • language: optional, list trending repositories of certain programming languages, possible values are listed here.
  • since: optional, default to daily, possible values: daily, weekly and monthly.

Response:

[
  ...
  {
    "author": "google",
    "name": "gvisor",
    "avatar": "https://github.com/google.png",
    "url": "https://github.com/google/gvisor",
    "description": "Container Runtime Sandbox",
    "language": "Go",
    "languageColor": "#3572A5",
    "stars": 3320,
    "forks": 118,
    "currentPeriodStars": 1624,
    "builtBy": [
      {
        "href": "https://github.com/viatsko",
        "avatar": "https://avatars0.githubusercontent.com/u/376065",
        "username": "viatsko"
      }
    ]
  }
  ...
]

Note that GitHub trending page sometimes is empty, in that case this API returns [] in response, your application should be able to handle it or read from previous cache.

Receive an array of trending developers.

URL Endpoint:

https://github-trending-api.now.sh/developers?language=javascript&since=weekly

Parameters:

  • language: optional, list trending repositories of certain programming languages, possible values are listed here.
  • since: optional, default to daily, possible values: daily, weekly and monthly.

Response:

[
  {
    "username": "google",
    "name": "Google",
    "type": "organization",
    "url": "https://github.com/google",
    "avatar": "https://avatars0.githubusercontent.com/u/1342004",
    "repo": {
      "name": "traceur-compiler",
      "description": "Traceur is a JavaScript.next-to-JavaScript-of-today compiler",
      "url": "https://github.com/google/traceur-compiler"
    }
  }
]

type could be organization or user.

List Languages

Receive popular languages and all languages.

URL Endpoint:

https://github-trending-api.now.sh/languages

Response:

[
  {
    "id": "1c-enterprise",
    "name": "1C Enterprise"
  },
  {
    "id": "abap",
    "name": "ABAP"
  },
  {
    "id": "abnf",
    "name": "ABNF"
  },
  {
    "id": "actionscript",
    "name": "ActionScript"
  }
]

NPM Package

You could also use the API as a NPM package.

Install

$ npm install --save @huchenme/github-trending

Usage

import {
  languages,
  fetchRepositories,
  fetchDevelopers,
} from '@huchenme/github-trending';

fetchRepositories({ language: 'ruby', since: 'monthly' }).then(repositories => {
  console.log(repositories);
});

fetchDevelopers({ language: 'javascript' }).then(developers => {
  console.log(developers);
});

console.log(languages);

API

languages

List all languages

[
  {
    id: '1c-enterprise',
    name: '1C Enterprise',
  },
  {
    id: 'abap',
    name: 'ABAP',
  },
  {
    id: 'abnf',
    name: 'ABNF',
  },
  {
    id: 'actionscript',
    name: 'ActionScript',
  },
];

fetchRepositories(params)

Receive an array of trending repositories.

params:

  • language: possible values are the the ones from fetchAllLanguages() or just find here.
  • since: daily, weekly or monthly, default to daily.
[
  ...
  {
    author: 'google',
    name: 'gvisor',
    avatar: 'https://github.com/google.png',
    url: 'https://github.com/google/gvisor',
    description: 'Container Runtime Sandbox',
    language: 'Go',
    languageColor: '#3572A5',
    stars: 3320,
    forks: 118,
    currentPeriodStars: 1624,
    "builtBy": [
      {
        "href": "https://github.com/viatsko",
        "avatar": "https://avatars0.githubusercontent.com/u/376065",
        "username": "viatsko"
      }
    ]
  }
  ...
]

fetchDevelopers(params)

Receive an array of trending developers.

params:

  • language: possible values are the the ones from fetchAllLanguages() or just find here.
  • since: daily, weekly or monthly, default to daily.
[
  ...
  {
    username: 'google',
    name: 'Google',
    type: 'organization',
    url: 'https://github.com/google',
    avatar: 'https://avatars0.githubusercontent.com/u/1342004',
    repo: {
      name: 'traceur-compiler',
      description:
        'Traceur is a JavaScript.next-to-JavaScript-of-today compiler',
      url: 'https://github.com/google/traceur-compiler'
    }
  }
  ...
]

License

MIT

主要指標

概覽
名稱與所有者huchenme/github-trending-api
主編程語言JavaScript
編程語言JavaScript (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2018-05-04 06:39:16
推送於2023-01-06 01:41:27
最后一次提交2020-12-28 16:23:48
發布數32
最新版本名稱v2.4.2 (發布於 )
第一版名稱v1.0.0 (發布於 2018-05-09 23:39:32)
用户参与
星數775
關注者數7
派生數107
提交數190
已啟用問題?
問題數56
打開的問題數7
拉請求數58
打開的拉請求數33
關閉的拉請求數39
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?