Curse Fingerprints API

The Fingerprints API from Curse — 4 operation(s) for fingerprints.

Operations 4

POST /v1/fingerprints/{gameId} #
POST /v1/fingerprints #
POST /v1/fingerprints/fuzzy/{gameId} #
POST /v1/fingerprints/fuzzy #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/curse-fingerprints-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

curse-fingerprints-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: CurseForge Core Categories Fingerprints API
  description: All endpoints use the same base URL - [https://api.curseforge.com](https://api.curseforge.com)
  version: v1
servers:
- url: https://api.curseforge.com
security:
- API_KEY: []
tags:
- name: Fingerprints
paths:
  /v1/fingerprints/{gameId}:
    post:
      tags:
      - Fingerprints
      description: Get mod files that match a list of fingerprints for a given game id.
      operationId: Get Fingerprints Matches By Game Id
      parameters:
      - name: gameId
        in: path
        required: true
        description: The game id for matching fingerprints
        schema:
          type: integer
          format: int32
        x-position: 1
      requestBody:
        x-name: requestBody
        description: The request body containing an array of fingerprints
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetFingerprintMatchesRequestBody'
        required: true
        x-position: 2
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get_Fingerprint_Matches_Response'
        '400':
          description: ''
        '503':
          description: ''
          content:
            application/json:
              schema:
                type: string
  /v1/fingerprints:
    post:
      tags:
      - Fingerprints
      description: Get mod files that match a list of fingerprints.
      operationId: Get Fingerprints Matches
      requestBody:
        x-name: requestBody
        description: The request body containing an array of fingerprints
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetFingerprintMatchesRequestBody'
        required: true
        x-position: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get_Fingerprint_Matches_Response'
        '400':
          description: ''
        '503':
          description: ''
          content:
            application/json:
              schema:
                type: string
  /v1/fingerprints/fuzzy/{gameId}:
    post:
      tags:
      - Fingerprints
      description: Get mod files that match a list of fingerprints using fuzzy matching.
      operationId: Get Fingerprints Fuzzy Matches By Game Id
      parameters:
      - name: gameId
        in: path
        required: true
        description: The game id for matching fingerprints
        schema:
          type: integer
          format: int32
        x-position: 1
      requestBody:
        x-name: matchCriteria
        description: Game id and folder fingerprints options for the fuzzy matching
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetFuzzyMatchesRequestBody'
        required: true
        x-position: 2
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get_Fingerprints_Fuzzy_Matches_Response'
        '400':
          description: ''
        '503':
          description: ''
          content:
            application/json:
              schema:
                type: string
  /v1/fingerprints/fuzzy:
    post:
      tags:
      - Fingerprints
      description: Get mod files that match a list of fingerprints using fuzzy matching.
      operationId: Get Fingerprints Fuzzy Matches
      requestBody:
        x-name: matchCriteria
        description: Game id and folder fingerprints options for the fuzzy matching
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/GetFuzzyMatchesRequestBody'
        required: true
        x-position: 1
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Get_Fingerprints_Fuzzy_Matches_Response'
        '400':
          description: ''
        '503':
          description: ''
          content:
            application/json:
              schema:
                type: string
components:
  schemas:
    Get_Fingerprints_Fuzzy_Matches_Response:
      type: object
      additionalProperties: false
      properties:
        data:
          description: The response data
          $ref: '#/components/schemas/FingerprintFuzzyMatchResult'
    HashAlgo:
      type: integer
      description: '1 = Sha1

        2 = Md5'
      x-enumNames:
      - Sha1
      - Md5
      enum:
      - 1
      - 2
    FileRelationType:
      type: integer
      description: '1 = EmbeddedLibrary

        2 = OptionalDependency

        3 = RequiredDependency

        4 = Tool

        5 = Incompatible

        6 = Include'
      x-enumNames:
      - EmbeddedLibrary
      - OptionalDependency
      - RequiredDependency
      - Tool
      - Incompatible
      - Include
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
    FingerprintMatch:
      type: object
      additionalProperties: false
      properties:
        id:
          type: integer
          format: int32
        file:
          $ref: '#/components/schemas/File'
        latestFiles:
          type: array
          items:
            $ref: '#/components/schemas/File'
    File:
      type: object
      additionalProperties: false
      properties:
        id:
          type: integer
          description: The file id
          format: int32
        gameId:
          type: integer
          description: The game id related to the mod that this file belongs to
          format: int32
        modId:
          type: integer
          description: The mod id
          format: int32
        isAvailable:
          type: boolean
          description: Whether the file is available to download
        displayName:
          type: string
          description: Display name of the file
        fileName:
          type: string
          description: Exact file name
        releaseType:
          description: The file release type
          $ref: '#/components/schemas/FileReleaseType'
        fileStatus:
          description: Status of the file
          $ref: '#/components/schemas/FileStatus'
        hashes:
          type: array
          description: The file hash (i.e. md5 or sha1)
          items:
            $ref: '#/components/schemas/FileHash'
        fileDate:
          type: string
          description: The file timestamp
          format: date-time
        fileLength:
          type: integer
          description: The file length in bytes
          format: int64
        downloadCount:
          type: integer
          description: The number of downloads for the file
          format: int64
        fileSizeOnDisk:
          type:
          - integer
          - 'null'
          description: The file's size on disk
          format: int64
        downloadUrl:
          type: string
          description: The file download URL
        gameVersions:
          type: array
          description: List of game versions this file is relevant for
          items:
            type: string
        sortableGameVersions:
          type: array
          description: Metadata used for sorting by game versions
          items:
            $ref: '#/components/schemas/SortableGameVersion'
        dependencies:
          type: array
          description: List of dependencies files
          items:
            $ref: '#/components/schemas/FileDependency'
        exposeAsAlternative:
          type:
          - boolean
          - 'null'
        parentProjectFileId:
          type:
          - integer
          - 'null'
          format: int32
        alternateFileId:
          type:
          - integer
          - 'null'
          format: int32
        isServerPack:
          type:
          - boolean
          - 'null'
        serverPackFileId:
          type:
          - integer
          - 'null'
          format: int32
        isEarlyAccessContent:
          type:
          - boolean
          - 'null'
        earlyAccessEndDate:
          type:
          - string
          - 'null'
          format: date-time
        fileFingerprint:
          type: integer
          format: int64
        modules:
          type: array
          items:
            $ref: '#/components/schemas/FileModule'
        cookingInfo:
          $ref: '#/components/schemas/CookerInfo'
    FileDependency:
      type: object
      additionalProperties: false
      properties:
        modId:
          type: integer
          format: int32
        relationType:
          $ref: '#/components/schemas/FileRelationType'
    FingerprintFuzzyMatch:
      type: object
      additionalProperties: false
      properties:
        id:
          type: integer
          format: int32
        file:
          $ref: '#/components/schemas/File'
        latestFiles:
          type: array
          items:
            $ref: '#/components/schemas/File'
        fingerprints:
          type: array
          items:
            type: integer
            format: int64
    CookerInfo:
      type: object
      additionalProperties: false
      properties:
        cookerVersion:
          type: string
        cookerRevision:
          type: string
    SortableGameVersion:
      type: object
      additionalProperties: false
      properties:
        gameVersionName:
          type: string
          description: Original version name (e.g. 1.5b)
        gameVersionPadded:
          type: string
          description: Used for sorting (e.g. 0000000001.0000000005)
        gameVersion:
          type: string
          description: game version clean name (e.g. 1.5)
        gameVersionReleaseDate:
          type: string
          description: Game version release date
          format: date-time
        gameVersionTypeId:
          type:
          - integer
          - 'null'
          description: Game version type id
          format: int32
    FileHash:
      type: object
      additionalProperties: false
      properties:
        value:
          type: string
        algo:
          $ref: '#/components/schemas/HashAlgo'
    FileReleaseType:
      type: integer
      description: '1 = Release

        2 = Beta

        3 = Alpha'
      x-enumNames:
      - Release
      - Beta
      - Alpha
      enum:
      - 1
      - 2
      - 3
    FolderFingerprint:
      type: object
      additionalProperties: false
      properties:
        foldername:
          type: string
        fingerprints:
          type: array
          items:
            type: integer
            format: int64
    FingerprintsMatchesResult:
      type: object
      additionalProperties: false
      properties:
        isCacheBuilt:
          type: boolean
        exactMatches:
          type: array
          items:
            $ref: '#/components/schemas/FingerprintMatch'
        exactFingerprints:
          type: array
          items:
            type: integer
            format: int64
        partialMatches:
          type: array
          items:
            $ref: '#/components/schemas/FingerprintMatch'
        partialMatchFingerprints:
          type: object
          additionalProperties:
            type: array
            items:
              type: integer
              format: int64
        installedFingerprints:
          type: array
          items:
            type: integer
            format: int64
        unmatchedFingerprints:
          type: array
          items:
            type: integer
            format: int64
    FileStatus:
      type: integer
      description: '1 = Processing

        2 = ChangesRequired

        3 = UnderReview

        4 = Approved

        5 = Rejected

        6 = MalwareDetected

        7 = Deleted

        8 = Archived

        9 = Testing

        10 = Released

        11 = ReadyForReview

        12 = Deprecated

        13 = Baking

        14 = AwaitingPublishing

        15 = FailedPublishing'
      x-enumNames:
      - Processing
      - ChangesRequired
      - UnderReview
      - Approved
      - Rejected
      - MalwareDetected
      - Deleted
      - Archived
      - Testing
      - Released
      - ReadyForReview
      - Deprecated
      - Baking
      - AwaitingPublishing
      - FailedPublishing
      enum:
      - 1
      - 2
      - 3
      - 4
      - 5
      - 6
      - 7
      - 8
      - 9
      - 10
      - 11
      - 12
      - 13
      - 14
      - 15
    GetFuzzyMatchesRequestBody:
      type: object
      additionalProperties: false
      properties:
        gameId:
          type: integer
          format: int32
        fingerprints:
          type: array
          items:
            $ref: '#/components/schemas/FolderFingerprint'
    FingerprintFuzzyMatchResult:
      type: object
      additionalProperties: false
      properties:
        fuzzyMatches:
          type: array
          items:
            $ref: '#/components/schemas/FingerprintFuzzyMatch'
    Get_Fingerprint_Matches_Response:
      type: object
      additionalProperties: false
      properties:
        data:
          description: The response data
          $ref: '#/components/schemas/FingerprintsMatchesResult'
    FileModule:
      type: object
      additionalProperties: false
      properties:
        name:
          type: string
        fingerprint:
          type: integer
          format: int64
    GetFingerprintMatchesRequestBody:
      type: object
      additionalProperties: false
      properties:
        fingerprints:
          type: array
          items:
            type: integer
            format: int64
  securitySchemes:
    API_KEY:
      type: apiKey
      description: <br/>The API key can be generated in the CurseForge for Studios [developer console](https://console.curseforge.com/).
      name: x-api-key
      in: header
x-generator: NSwag v13.15.10.0 (NJsonSchema v10.6.10.0 (Newtonsoft.Json v11.0.0.0))