Forge Mod Update links for CurseForge Projects.

Enable the built-in Forge Update system with your mod with no code changes or hosting of websites. By using the power of CurseForge, let us manage the JSON so you can focus on creating your mods!

View Documentation ▾


The CurseForge UpdateJson API is available at Project update jsons can be retrieved by making a GET request to this endpoint where the URL contains 2 pieces of information.


Project IDs can be found by going to your project on CurseForge and looking for the "Project ID" on the right. The mod id is your modid from the mods.toml file.

We query CurseForge and retrieve all versions of your mod. We parse each of your files and pull the versions from your mods.toml. Using this, we construct the appropriate JSON structure needed for Forge's update checker. This means we provide the most accurate versions of your mod for Forge to look at. We do not rely on specific file names or structures, and can support all the mod ids in your mods.

Example: GET

    "promos": {
        "1.14.4-latest": "5.7.0",
        "1.14.4-recommended": "5.7.0",
        "1.15.2-latest": "5.7.0",
        "1.15.2-recommended": "5.7.0",
        "1.16.2-latest": "5.7.3",
        "1.16.2-recommended": "5.7.3",
        "1.16.3-latest": "5.7.3",
        "1.16.3-recommended": "5.7.3",
        "1.16.4-latest": "5.7.3",
        "1.16.4-recommended": "5.7.3",
        "1.16.5-latest": "5.8.0beta1",
        "1.16.5-recommended": "5.7.3",
        "1.17.1-latest": "5.8.0beta1",
        "1.17.1-recommended": "5.7.3",
        "1.18-latest": "5.8.0alpha3"
    "homepage": ""


  "1.14.4-latest": "",
  "1.14.4-recommended": "",
  "1.15.2-latest": "",
  "1.15.2-recommended": "",
  "1.16.2-latest": "",
  "1.16.2-recommended": "",
  "1.16.3-latest": "",
  "1.16.3-recommended": "",
  "1.16.4-latest": "",
  "1.16.4-recommended": "",
  "1.16.5-latest": "",
  "1.16.5-recommended": "",
  "1.17.1-latest": "",
  "1.17.1-recommended": "",
  "1.18.1-latest": ""

For non-Forge mods, there is no defined structure offered by other teams. As such, we return the same JSON structure. To get data for those other mods, you can pass the modloader name to the URL in the ml query param. Supported loaders:

Example: GET


Each request response is a JSON document containing either project version data or an error.

Project Data

Data is pulled from CurseForge directly, with mod versions cached locally to avoid heavy pulls from CurseForge. This does mean that if we have not seen a project before, the first call will be slow, as we have to pull files from CurseForge to populate this cache, but future updates and calls will be served quickly.

Each time a new file is released on CurseForge and a call is made to this service, we pull the new file and analyze it to update the json.


All URL calls are cached for 5 minutes on the backend server, so that repeated calls to the same URL do not overload CurseForge with requests, and can be quickly served to end users. In the event this cache needs to be purged for a specific URL, /expire can be added to the URL to force it to be expired. Do note this is only meant for updating the JSON immediately after a release. Abuse of this feature will result in it being removed.


We now have a Discord! -

You can also reach out via Private Message on or email —


All traffic is routed through Cloudflare, which follows the Cloudflare Privacy Policy. No identifiable information is logged or stored on the backend servers.