Public repository rankings, search and momentum data.
No API key, account, payment or OAuth token is required. All documented API and MCP operations are read-only. Trending Repos is independent of GitHub.
curl -s 'https://trending-repos.com/api/v1/agent?period=weekly'
curl -s 'https://trending-repos.com/api/v1/agent?path=/search&q=react'
curl -s 'https://trending-repos.com/api/v1/agent?path=/repositories/vercel/next.js'Responses include a canonical citation URL, selected period and available observation timestamps. Data refreshes approximately every four hours. A momentum score is not a security review or quality endorsement.
Lists contain at most 100 repositories; search returns at most 50. Query text is limited to 100 characters. Full parameter bounds and supported views are in OpenAPI.
This sends a read-only request to production, not a separate sandbox. Results open as JSON. There are no credentials or write operations in this explorer.
Connect an MCP client to https://trending-repos.com/mcp using Streamable HTTP. Initialize with your SDK and discover get_trending, search_repositories and get_repository through tools/list. No token or session storage is required. GET on the transport returns 405: the protocol uses POST.
The well-known server card describes the real endpoint. Compatible browsers also expose three WebMCP navigation tools: search, filter and open a repository. Browsers without WebMCP continue to work normally.
HTTP failures return JSON with code, message, hint and docs. The original error string remains for compatibility. Fix parameters after 400, search or check the path after 404, follow Allow after 405, and obey Retry-After after 429 or 503. MCP errors retain the MCP/JSON-RPC format.
{
"error": "Invalid period",
"code": "INVALID_REQUEST",
"message": "Invalid period",
"hint": "Check parameter names, types and bounds in the API documentation.",
"docs": "https://trending-repos.com/developers"
}An edge limit allows 300 requests per minute per IP in each region across page, API and MCP requests. Static bundles and brand assets are excluded. Excess traffic receives HTTP 429, not a browser challenge. Edge responses may use the platform's own error body and headers; if Retry-After is absent, wait at least 60 seconds before retrying.
Both JSON API URLs share best-effort per-instance limits of 120 requests/minute/IP and 600 requests/minute/instance. GET and HEAD count; OPTIONS does not. RateLimit-Policy and RateLimit follow the current IETF draft. A 429 includes Retry-After in seconds. Underlying data remains cached; per-client quota responses are private/no-store.
The remaining quota is r; t is seconds until the oldest counted request expires, not a full-window reset. These are not distributed guarantees. MCP has separate documented limits: 60 requests/minute/IP, 240/minute/instance and eight concurrent requests. Retry with backoff and jitter.
/api/v1/agent is the stable major-version URL. /api/agent remains pinned to v1; both return API-Version: 1. Optional response fields may be added. Breaking changes require a new major URL.
No version is currently deprecated and no retirement is scheduled. We provide at least 90 days of notice before retiring a public API version. Future deprecations will use the RFC 9745 Deprecation header and a migration link; a scheduled retirement will also use the RFC 8594 Sunset header.