Developer API
The whole catalog as JSON: mods, versions, per-patch compatibility, dependencies, and builds. No key, no auth, CORS open. Build mod manager integrations, Discord bots, or modlist tools.
Endpoints
/api/v1/patches Game patches, newest first, with the current patch flagged.
/api/v1/mods Mod catalog. Params: cat, q (search), sort (popular | downloads | updated | name), limit (max 100).
/api/v1/mods/{slug} One mod: description, versions with per-patch compatibility, dependencies, download URLs.
/api/v1/mods/{slug}/manifest Machine-readable manifest for mod managers: one version (latest, or pin with ?version=), download URL, dependencies with manifest links, per-patch compatibility.
/api/v1/updates Batch update check. Params: slugs (comma-separated, max 100). Latest version, download URL, and manifest link per slug; unknown slugs return null.
/api/v1/lookup Identify archives by hash. Params: sha256 (comma-separated, max 50). The mod, version, layout, and manifest link per hash; unknown hashes return null.
/api/v1/builds Published modlists (curated and community), ranked by votes.
/api/v1/builds/{slug} One build: ordered mod list with notes, versions, and download URLs.
/feed.xml RSS feed of newly listed mods. Point a Discord webhook bot or feed reader at it.
Example
curl https://2077mods.com/api/v1/mods/cyber-engine-tweaks
{
"slug": "cyber-engine-tweaks",
"name": "Cyber Engine Tweaks",
"category": "framework",
"latest_version": "1.35.1",
"versions": [
{
"version": "1.35.1",
"compatibility": [{ "game_patch": "2.3", "status": "works" }],
"download_url": "..."
}
],
"dependencies": []
} Mod manager manifest
The manifest is the stable contract for mod managers, launchers, and installers: one mod,
one version, and everything a tool needs to install or update it. Latest version by default,
or pin one with ?version=.
curl https://2077mods.com/api/v1/mods/cyber-engine-tweaks/manifest
{
"manifest_version": 1,
"game": "cyberpunk2077",
"slug": "cyber-engine-tweaks",
"name": "Cyber Engine Tweaks",
"hosting": "hosted",
"latest_version": "1.35.1",
"version": {
"version": "1.35.1",
"released_at": "2025-07-18",
"changelog": "...",
"file_size": 7340032,
"sha256": "9f86d081884c7d659a2feaa0c55ad015a3bf4f1b2b0b822cd15d6c15b0f00a08",
"layout": "game-root",
"download_url": "https://2077mods.com/download/cyber-engine-tweaks/1.35.1",
"direct_download": true,
"compatibility": [{ "game_patch": "2.3", "status": "works" }]
},
"dependencies": [
{ "slug": "red4ext", "kind": "required", "latest_version": "1.30.0", "manifest": "..." }
]
} - Update flow: poll
/api/v1/updates?slugs=with everything the user has installed (100 slugs per call), fetch the manifest for anything that changed, then itsdownload_url. - Version strings are author-chosen, not normalized semver. Compare by
equality, and use
released_atto tell upgrades from rollbacks. - hosting tells you what the URL is.
hosted: we stream the file (hosted with permission,direct_downloadis true).external: the URL leaves the site (GitHub releases and the like), send users there.claimable: metadata page only, no file. - Dependencies are
requiredoroptional, each with its own manifest link. Walk them recursively to build a full install set. - sha256 is the lowercase hex hash of the archive we serve. Verify it
after download, and identify local files with
/api/v1/lookup?sha256=. It is null for external downloads. - layout says how the archive installs.
game-root: extract at the game install root.archive-files: loose .archive/.xl files for archive/pc/mod.unknown: ask the user. - One-click installs: mod pages link
2077mods://install/{slug}/{version}. Register a handler for the scheme and resolve the rest from the manifest. - manifest_version only changes on breaking changes. New fields may appear without a bump; ignore what you do not recognize.
Keys & rate limits
- Anonymous: 60 req/min per IP. Fine for testing and light tools.
- With a key: 300 req/min. Free, generated in your dashboard (sign in with Discord).
- Pass it as
Authorization: Bearer 2077_...,X-API-Key, or?key=. - Every response carries
X-RateLimit-LimitandX-RateLimit-Remaining; a 429 includesRetry-After. - Need more than 300 req/min? Message the team, limits are negotiable for real tools.
Ground rules
- Responses are cached at the edge for about 5 minutes; do not hammer past that.
- Files are hosted with permission. Link people to download URLs; do not re-host.
- A link back to 2077mods.com in your tool is appreciated, not required.
- Breaking changes get a new version prefix; v1 stays stable.
- Need write access or webhooks? Message the team.