Operated by Sourcelane✓ verified
A GitHub repository metadata extractor that bulk-processes lists of repositories to collect quantitative and descriptive project signals: star counts, fork counts, watcher numbers, open issue totals, repository size, full language breakdown by bytes with primary language identification, license identifier, repository topics, default branch, homepage and description text, contributor counts (including anonymous contributors), owner type and avatar link, ISO timestamps for creation/last update/last push, archive/disabled/fork/template status, and feature flags for issues, wiki, and discussions. The connector performs parallel fetches to scale across many repositories and produces per-repository metadata suitable for analytics, research, audit, and discovery workflows.
Verified Sep 28, 12:10 AM
$0.005
per repository
Up to 100 per call. Only pay for results returned; failed calls are refunded.
| Window | Uptime | Success rate | p50 | p95 | Calls |
|---|---|---|---|---|---|
| 24h | — | — | — | — | 0 |
| 7d | — | — | — | — | 0 |
| 30d | — | — | — | — | 0 |
Call it through Sourcelane's gateway or MCP server. We run the connector, apply your agent's spend guardrails, and bill only the results returned.
Call it via Sourcelane
curl -X POST https://cool-puffin-608.convex.site/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"github-repo-stats-scraper","params":{"repos":["facebook/react","vuejs/core","vercel/next.js","microsoft/vscode"]},"maxResults":10}'Request params
| Field | Type | Required | Description |
|---|---|---|---|
repos | array | required | List of GitHub repositories as `owner/repo` slugs (e.g. `facebook/react`). One row per repo in the results. |
concurrency | integer | optional | How many repositories to fetch in parallel. Default 10 is safe for most token rate limits. |
Each result contains
| Field | Type | Description |
|---|---|---|
fullName | string | Full Name |
owner | string | Owner |
repo | string | Repo |
htmlUrl | string | Html Url |
description | null | Description |
homepage | null | Homepage |
primaryLanguage | null | Primary Language |
languages | object | — |
languageBytes | integer | Language Bytes |
stars | integer | Stars |
forks | integer | Forks |
watchers | integer | Watchers |
openIssues | integer | Open Issues |
size | integer | — |
defaultBranch | string | — |
license | null | — |
topics | array | — |
archived | boolean | — |
disabled | boolean | — |
isFork | boolean | — |
isTemplate | boolean | — |
hasIssues | boolean | — |
hasWiki | boolean | — |
hasDiscussions | boolean | — |
ownerType | string | — |
ownerAvatarUrl | null | — |
contributorCount | null | — |
createdAt | string | — |
updatedAt | string | — |
pushedAt | string | — |
error | string | — |
Pick your tool and connect in under a minute. Then just ask — for example: “For these 50 domains, find contact emails and what e-commerce platform they run on.”
Connect Claude
Web, desktop and mobile. Paste one URL.
Adds the Sourcelane MCP server with your key as a header.
claude mcp add --transport http sourcelane https://cool-puffin-608.convex.site/mcp \
--header "Authorization: Bearer sl_live_your_agent_key"Alternative to the connector URL: add to claude_desktop_config.json, then restart Claude.
{
"mcpServers": {
"sourcelane": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://cool-puffin-608.convex.site/mcp",
"--header",
"Authorization:${AUTH_HEADER}"
],
"env": {
"AUTH_HEADER": "Bearer sl_live_your_agent_key"
}
}
}
}Add to ~/.cursor/mcp.json (or Windsurf's mcp_config.json).
{
"mcpServers": {
"sourcelane": {
"url": "https://cool-puffin-608.convex.site/mcp",
"headers": {
"Authorization": "Bearer sl_live_your_agent_key"
}
}
}
}Save as .vscode/mcp.json. VS Code prompts for your key once.
{
"servers": {
"sourcelane": {
"type": "http",
"url": "https://cool-puffin-608.convex.site/mcp",
"headers": {
"Authorization": "Bearer ${input:sourcelane-key}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "sourcelane-key",
"description": "Sourcelane agent key",
"password": true
}
]
}Create a GPT → Actions → Import from URL, then Authentication: API Key, Bearer.
https://sourcelane-amber.vercel.app/openapi.jsonOne POST. Pass maxResults to cap cost.
curl -X POST https://cool-puffin-608.convex.site/v1/call \
-H "Authorization: Bearer sl_live_your_agent_key" \
-H "Content-Type: application/json" \
-d '{"listing":"github-repo-stats-scraper","params":{"repos":["facebook/react","vuejs/core","vercel/next.js","microsoft/vscode"]},"maxResults":10}'Wrap the REST call as a tool, or point an MCP client at the endpoint.
import requests
res = requests.post(
"https://cool-puffin-608.convex.site/v1/call",
headers={"Authorization": "Bearer sl_live_your_agent_key"},
json={
"listing": "github-repo-stats-scraper",
"params": {"repos":["facebook/react","vuejs/core","vercel/next.js","microsoft/vscode"]},
"maxResults": 10,
},
timeout=300,
)
body = res.json()
print(body["receipt"]["chargedMicros"], "micro-USD for", body["receipt"]["results"], "results")
print(body["data"])—
0 reviews
Leave a review
Loading reviews…