merc APImerc.guru ↗
Retrieve all project listings from merc.guru via a single API call. Get project names, descriptions, URLs, and source code links in structured JSON.
What is the merc API?
The merc.guru API exposes 1 endpoint that returns the complete set of projects listed on merc.guru, each with 4 structured fields: name, URL, description, and source code link. The list_projects endpoint aggregates both index-level and per-project detail into a single response, so callers get full project records without multiple round trips.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/cadc5e2c-fd22-4281-bdfd-a00075a3d3b4/list_projects' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace merc-guru-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: merc.guru SDK — list personal projects with typed access."""
from parse_apis.merc_guru_api import MercGuru, ParseError
client = MercGuru()
# Fetch all projects and print their name, description snippet, and source link.
try:
for project in client.projects.list(limit=10):
print(project.name, "-", project.description[:60])
print(" source:", project.source_link)
except ParseError as e:
# Upstream markup changed or extraction failed
print("parse error:", e.code, e)
print("exercised: projects.list")
Lists all projects from merc.guru with their descriptions and source code links. Makes one request for the project index and one per project for detail. Returns all projects in a single call.
No input parameters required.
{
"type": "object",
"fields": {
"projects": "array of project objects with name, url, description, and source_link"
},
"sample": {
"data": {
"projects": [
{
"url": "https://merc.guru/projects/bs",
"name": "bs",
"description": "a shell script for controlling the sing-box service on my Alpine installation.",
"source_link": "https://srcdump.net/merc/bs"
},
{
"url": "https://merc.guru/projects/myrc",
"name": "myrc",
"description": "just a shell-based static site generator.",
"source_link": "https://srcdump.net/merc/myrc"
},
{
"url": "https://merc.guru/projects/rudis",
"name": "rudis",
"description": "a pretty simple and minimal (if we don't count the miniaudio lib) music player for the cli, written in C",
"source_link": "https://srcdump.net/merc/rudis"
}
]
},
"status": "success"
}
}About the merc API
What the API Returns
The list_projects endpoint returns an array of project objects sourced from merc.guru. Each object contains a name (the project title), a url (the project's page on merc.guru), a description (a summary of the project's purpose), and a source_link (a direct link to the project's source code repository or related resource).
Endpoint Behavior
list_projects takes no input parameters. A single call fetches every project currently listed on the site, combining index and detail data into one consolidated response. There is no filtering, pagination, or search — the full project list is returned on every call.
Data Shape
The response is a JSON object with a projects key containing an array. Each element is a flat object: { "name": string, "url": string, "description": string, "source_link": string }. The source_link field typically points to a version control host such as GitHub, though this depends on what the project author has listed.
The merc API is a managed, monitored endpoint for merc.guru — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when merc.guru changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official merc.guru API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Snapshot merc.guru project listings periodically to track newly added projects by comparing
nameandurlfields over time. - Build a personal dashboard that displays merc.guru projects alongside
source_linkreferences for quick access to code repositories. - Aggregate project descriptions into a searchable index to find projects matching specific keywords without visiting each page manually.
- Pull
source_linkvalues in bulk to audit or archive linked repositories programmatically. - Embed a live-updated merc.guru project feed into a portfolio site or developer tooling page.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does merc.guru have an official developer API?+
What exactly does `list_projects` return for each project?+
name (the project title), url (its page on merc.guru), description (a short summary), and source_link (a link to the project's source code). No additional metadata such as tags, dates, or contributor counts is currently included in the response.Can I filter or search projects by keyword or category?+
list_projects returns all projects in one flat array with no filtering or search parameters. You can apply your own filtering logic client-side on the returned name and description fields. You can also fork this API on Parse and revise it to add a filter parameter.