For developers

SrcLog API & MCP Server

Query repositories, topics and developer rankings as JSON, or plug SrcLog straight into Claude, Cursor and other AI assistants over the Model Context Protocol.

No auth required. 30 requests/minute per IP.

Quick start

Every endpoint is a plain GET that returns JSON. There are no API keys, tokens or sign-ups.

curl "https://srclog.com/api/v1/search?q=static+site+generator&sort=stars&per_page=5"

Lists come wrapped in data with pagination in meta:

{ "data": [ { "full_name": "gohugoio/hugo", "name": "hugo", "owner": { "login": "gohugoio", "avatar_url": "https://avatars.githubusercontent.com/u/29385237?v=4" }, "description": "The world’s fastest framework for building websites.", "language": "Go", "license": "apache-2.0", "stars": 90224, "forks": 8406, "watchers": 1077, "archived": false, "srclog_score": 100, "homepage": "https://gohugo.io", "created_at": "2013-07-04T15:26:26+00:00", "pushed_at": "2026-10-24T10:49:54+00:00", "url": "https://srclog.com/gohugoiohugo", "github_url": "https://github.com/gohugoio/hugo" } ], "meta": { "page": 1, "per_page": 5, "total": 1240, "last_page": 248 } }

Example values are illustrative. Data is refreshed from GitHub daily.

1

REST API

Base URL: https://srclog.com/api/v1. Paginated endpoints take page (1–1000) and per_page (1–50, default 20).

Endpoint Returns Parameters
GET /api/v1/search Try it → Search repositories. q, language, topic, min_stars, sort=relevance|stars|recent, page, per_page
GET /api/v1/repos/{owner}/{name} Try it → One repository: stats, license, topics, dates, links. —
GET /api/v1/repos/{owner}/{name}/similar Try it → Semantically similar repositories (alternatives). limit (1–50, default 10)
GET /api/v1/topics Try it → All curated topics. —
GET /api/v1/topics/{slug} Try it → A topic and its most-starred repositories. page, per_page
GET /api/v1/top/developers Try it → Top GitHub developers ranking. language, country (ISO code), sort=stars|forks|watchers|repos, page, per_page
GET /api/v1/top/organizations Try it → Top GitHub organizations ranking. same as above
GET /api/v1/owners/{login} Try it → Developer or organization: totals, ranking positions, top repositories. page, per_page

Identifiers

  • Repositories use their GitHub full name: /repos/laravel/framework.
  • Topics use the slug from their SrcLog URL: /topic/machine-learning → /topics/machine-learning. Aliases such as golang resolve to the main topic.
  • Languages are written as GitHub names them (C++, Jupyter Notebook); countries are ISO 3166-1 alpha-2 codes (US, UA).

Errors

Errors use the HTTP status and a stable machine-readable code:

HTTP/1.1 404 Not Found { "error": { "code": "not_found", "message": "Repository \"foo/bar\" not found on SrcLog." } }

Codes: invalid_request (422), not_found (404), rate_limited (429).

Authentication & rate limits

No auth required. 30 requests/minute per IP. The limit is shared between the REST API and MCP tool calls coming from the same IP address.

Every API response carries the current budget:

X-RateLimit-Limit: 30 X-RateLimit-Remaining: 27

Once it runs out you get 429 with Retry-After (seconds) until the window resets:

HTTP/1.1 429 Too Many Requests Retry-After: 42 { "error": { "code": "rate_limited", "message": "Rate limit: 30 req/min, retry in 42 s" } }

Need more? Cache responses on your side — the data changes at most once a day — or get in touch.

2

MCP server

SrcLog speaks the Model Context Protocol over Streamable HTTP, so AI assistants can search repositories and rankings for you. No auth required. 30 requests/minute per IP.

Server URL

https://srclog.com/mcp

Claude Code

claude mcp add --transport http srclog https://srclog.com/mcp

Claude, ChatGPT and other apps with custom connectors

Add a custom connector and paste https://srclog.com/mcp as the server URL. Leave authentication empty.

Cursor, VS Code, Windsurf and other JSON configs

{ "mcpServers": { "srclog": { "url": "https://srclog.com/mcp" } } }

VS Code uses "servers" with "type": "http" instead of "mcpServers".

Tools

search_repos Search repositories

Search open-source GitHub repositories by keywords (hybrid keyword + semantic search) with optional language, topic and star filters.

query?: string, language?: string, topic?: string, min_stars?: integer, sort?: relevance|stars|recent, page?: integer, per_page?: integer

get_repo Get repository

Details for one repository: stars, forks, language, license, topics, SrcLog score, dates and links.

repo: string

similar_repos Similar repositories

Repositories semantically similar to the given one — useful for finding alternatives.

repo: string, limit?: integer

list_topics List topics

All curated topics (slug, title, description).

topic_repos Repositories in a topic

Most-starred repositories tagged with a topic.

topic: string, page?: integer, per_page?: integer

top_developers Top developers

Ranking of GitHub developers or organizations by total stars (or forks, watchers, repos), optionally by language and country.

type?: developers|organizations, language?: string, country?: string, sort?: stars|forks|watchers|repos, page?: integer, per_page?: integer

get_owner Get developer or organization

Profile, totals, ranking positions and most-starred repositories of a GitHub user or organization.

login: string, page?: integer, per_page?: integer

How the limit applies to MCP

  • Each tool call counts as one request against the same 30/min budget as the REST API.
  • Protocol messages — initialize, tools/list, ping — are free.
  • Over the limit, the tool call returns an error result rather than breaking the connection, so the assistant sees Rate limit: 30 req/min, retry in N s and can wait and retry.

Raw JSON-RPC

The endpoint is stateless and returns plain JSON (no SSE stream), so you can call it with curl:

curl https://srclog.com/mcp \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{"jsonrpc":"2.0","id":1,"method":"tools/call", "params":{"name":"get_repo","arguments":{"repo":"laravel/framework"}}}'

Fair use

  • ✓ Free for personal and commercial use. A link back to SrcLog.com is appreciated.
  • ✓ Repository data comes from the public GitHub API; the srclog_score and rankings are SrcLog’s own (see methodology).
  • ✓ The API is versioned under /v1: fields may be added, but existing ones won’t be renamed or removed without a new version.

API v1 · Questions or bugs? Contact us