Install
openclaw skills install @jcislo/gitbeaconGitHub trend intelligence for AI agents — a daily scan of trending new GitHub repos, LLM-analyzed into a structured digest (top categories, language trends, emerging tools, notable projects, overall sentiment), plus the raw enriched trending-repo rows behind it (stars, forks, language, topics, license, author, README excerpt). Pay-per-call via x402 (USDC on Base only); no accounts, no API keys. Free /v1/index, /v1/brief, /v1/sample, and /v1/digests/latest expose every response shape before you pay.
openclaw skills install @jcislo/gitbeaconAPI at https://api.gitbeacon.dev (website https://gitbeacon.dev). gitBeacon watches new repositories that trend on GitHub each day, enriches each candidate (stars, forks, language, topics, license, author followers, README excerpt), and has an LLM synthesize the day into a structured digest — dominant categories of work, emerging tools and frameworks, language-popularity trends, the most notable projects, and an overall sentiment. Strictly pay-per-call via x402 — no accounts, no API keys, no bundles. Compute-first / settle-after: you are never charged for an error.
gitBeacon is the GitHub-trends intelligence product spun out of moltalyzer. The old paths
/api/github/*onapi.moltalyzer.xyz308-redirect here until 2026-09-08 — point new integrations atapi.gitbeacon.dev.
Poll for free to detect new digests and learn every response shape before paying. /v1/sample is a FROZEN sample digest (captured from the 2026-02-13 scan) — the same shape as a real digest, but it never changes and is labelled as such, so it is safe for testing without implying live data.
| Method | Path | Rate limit | Description |
|---|---|---|---|
| GET | /v1/index | 10/min | Poll target — current digest id, digestDate, updatedAt + nextExpected (24h cadence), so agents detect new digests without paying |
| GET | /v1/brief | 10/min | Field-trimmed snapshot of the current daily digest — title, summary, top categories, language trends, overall sentiment, digestDate |
| GET | /v1/sample | 5/min | FROZEN sample digest (2026-02-13 scan) — same shape as a real digest, never changes. Learn the response contract before paying |
| GET | /v1/digests/latest | 5/min | Most recent completed daily digest, full fields: fullAnalysis, notableProjects, emergingTools, language trends, volume metrics |
curl https://api.gitbeacon.dev/v1/digests/latest
Each paid call is a flat price per call, settled per call via x402. Networks: Base Mainnet only (eip155:8453). Compute-first / settle-after — you are never charged for an error.
| Method | Path | Price | Description |
|---|---|---|---|
| GET | /v1/repos?limit=30&language=Python | $0.01 | Top trending GitHub repos from the latest daily scan, sorted by stars — description, language, topics, license, forks, author followers, README excerpt. Response carries scanDate provenance |
| GET | /v1/digests?days=7&limit=7 | $0.05 | Historical daily digests (1-30 day lookback) — track how open-source trends, language popularity, and emerging tools evolve over time; each digest carries the same rich analysis as /v1/digests/latest, keyed by digestDate provenance |
Params for /v1/repos: limit (integer 1-100, default 30), language (case-insensitive language filter, e.g. Python, Rust, TypeScript). Params for /v1/digests: days (integer 1-30, default 7), limit (integer 1-30, default 7). All prices are USD, settled as USDC (6 decimals) on Base.
Paid routes settle per call via x402 V2. The only accepted rail is USDC on Base Mainnet (eip155:8453) — no other network. No account, no signup, no API key.
Pay flow:
PaymentRequirements ride in the base64 PAYMENT-REQUIRED header; the JSON body mirrors the price + accepts.exact USDC authorization on Base for the accepts[] amount.PAYMENT-SIGNATURE (V2) or X-PAYMENT (legacy) header.# 1. Probe for the 402 challenge (price + accepts):
curl -i "https://api.gitbeacon.dev/v1/repos?limit=30&language=Python"
# → HTTP/1.1 402 Payment Required, PAYMENT-REQUIRED header (base64 requirements)
# 2. Sign + retry with a stock x402 client (handles the whole flow):
import { wrapFetchWithPayment } from "@x402/fetch";
import { createWalletClient, http } from "viem";
import { privateKeyToAccount } from "viem/accounts";
import { base } from "viem/chains";
const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const wallet = createWalletClient({ account, chain: base, transport: http() });
const fetchWithPay = wrapFetchWithPayment(fetch, wallet); // signs EIP-3009 on 402, retries
// $0.01 — top trending repos, filtered to Rust:
const repos = await fetchWithPay(
"https://api.gitbeacon.dev/v1/repos?limit=30&language=Rust",
).then((r) => r.json());
// repos.scanDate, repos.count, repos.data[] (fullName, stars, language, topics, readmeExcerpt, …)
// $0.05 — historical digests, last 7 days:
const digests = await fetchWithPay(
"https://api.gitbeacon.dev/v1/digests?days=7&limit=7",
).then((r) => r.json());
Stock x402 clients (@x402/fetch, @x402/axios, python x402) do the 402 → sign → retry automatically. Discover the machine-readable route + price catalog at /.well-known/x402.
Try every response shape for free before you pay. Poll /v1/index (10/min) to detect a new digest on its ~24h cadence; read /v1/brief (10/min) for the trimmed current digest or /v1/digests/latest (5/min) for the full latest digest; hit /v1/sample (5/min) for the frozen 2026-02-13 digest to learn the exact response contract before spending. The paid /v1/repos and /v1/digests carry scanDate/digestDate provenance so you always know how fresh the data is.
| Path | What |
|---|---|
/llms.txt | This doc (concise) |
/llms-full.txt | Extended agent doc |
/openapi.json | OpenAPI 3.1 spec |
/discovery | Discovery JSON (free/paid endpoint listing) |
/.well-known/x402 | x402 payment manifest (route + price catalog) |
/.well-known/agent-card.json | A2A agent card |
/terms.txt | Terms of Service |
Terms: https://api.gitbeacon.dev/terms.txt
Disclaimer: GitHub trend intelligence aggregated from public GitHub data and LLM-synthesized; informational only, provided as-is without warranty. Digest analysis is model-generated and may be imperfect — every response carries scanDate/digestDate provenance so you can judge freshness.