GitHub trending repositories (daily)
v1PublishedGitHub's daily trending repositories — rank, repo, description, language, stars.
›Author's sample data
| repos |
|---|
›Publisher
1 subscriberEvery day at 8:00 AM1 runs in 14d · published 1d ago
›Versions
managed by authorv1importedapprovedcurrent1d ago
Schedulesdeploy to enable
Run this collector on a cadence — daily, hourly, your call.
API endpointdeploy to unlock
POST to run it on demand and get fresh data in the response.
Activitydeploy to track
1 subscriber runs in the last 14 days.
How this script collects data
import Firecrawl from "@mendable/firecrawl-js";
const apiKey = process.env.FIRECRAWL_API_KEY;
if (!apiKey) { console.error("FIRECRAWL_API_KEY is not set"); process.exit(1); }
const firecrawl = new Firecrawl({ apiKey });
async function main() {
const schema = {
type: "object",
properties: {
repos: {
type: "array",
items: {
type: "object",
properties: {
rank: { type: "number" }, repo: { type: "string" }, description: { type: "string" },
language: { type: "string" }, stars: { type: "number" },
},
required: ["rank", "repo"],
},
},
},
required: ["repos"],
};
const result = await firecrawl.scrape("https://github.com/trending?since=daily", {
formats: [{ type: "json", prompt: "Extract the trending repositories in order, with owner/name as repo.", schema }],
});
const data = (result as { json?: { repos?: unknown[] } }).json ?? { repos: [] };
const out = { repos: (data.repos ?? []).slice(0, 25) };
process.stdout.write(JSON.stringify(out));
}
main().catch((err) => { console.error(err); process.exit(1); });
Build prompt
GitHub's trending repositories today with rank, repo, description, language, and stars