{
  "openapi": "3.0.1",
  "info": {
    "title": "Nexus Mods Scraper",
    "description": "Scrape Nexus Mods - the largest modding community. Search mods across 4,900+ games, fetch mod details and file/version history, browse games, mod collections and their bundled mods, news, user profiles, and identify files by MD5 hash. No login, API key, or cookies required.",
    "version": "1.0",
    "x-build-id": "1os9G8biKiQgXanrf"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/crawlerbros~nexus-mods-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-crawlerbros-nexus-mods-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/crawlerbros~nexus-mods-scraper/runs": {
      "post": {
        "operationId": "runs-sync-crawlerbros-nexus-mods-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/crawlerbros~nexus-mods-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-crawlerbros-nexus-mods-scraper",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "modDetails",
              "modFiles",
              "modFileContents",
              "modEndorsers",
              "modRequirements",
              "browseGames",
              "browseCollections",
              "collectionMods",
              "collectionComments",
              "collectionChangelog",
              "collectionBugReports",
              "browseNews",
              "userProfile",
              "searchUsers",
              "browseTags",
              "browseMedia",
              "fileHashLookup"
            ],
            "type": "string",
            "description": "What to fetch from Nexus Mods.",
            "default": "search"
          },
          "searchQuery": {
            "title": "Search query (mode=search)",
            "type": "string",
            "description": "Free-text query matched against mod names, e.g. `survival`, `armor`, `graphics overhaul`. Must be at least 2 characters (shorter values are ignored). Leave blank to browse a game's mods by filters/sort only.",
            "default": "survival"
          },
          "gameDomainName": {
            "title": "Game domain (mode=search, modDetails, modFiles, modFileContents, modEndorsers, modRequirements, browseCollections, collectionMods, collectionComments, browseNews, browseTags, browseMedia)",
            "type": "string",
            "description": "Nexus Mods game slug to scope results to, e.g. `skyrimspecialedition`, `fallout4`, `cyberpunk2077`, `witcher3`, `stardewvalley`, `baldursgate3`, `eldenring`. Find a game's slug in its Nexus Mods URL (nexusmods.com/<domainName>). Leave blank to search/browse across all games (not supported in modDetails/modFiles/modFileContents/modEndorsers/modRequirements/browseTags/browseMedia, which always require it; optional in collectionMods/collectionComments since `collectionSlug` alone already identifies the collection).",
            "default": "skyrimspecialedition"
          },
          "modIds": {
            "title": "Mod IDs (mode=modDetails, modFiles, modFileContents, modEndorsers, modRequirements)",
            "type": "array",
            "description": "Numeric Nexus Mods mod IDs to fetch (found in a mod page URL, e.g. `671` from `nexusmods.com/skyrimspecialedition/mods/671`). Requires `gameDomainName` to also be set.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "fileExtensionFilter": {
            "title": "File extension filter (mode=modFileContents)",
            "type": "string",
            "description": "Restrict the archive file listing to an exact file extension, e.g. `.esp`, `.esl`, `.esm`, `.bsa`, `.ba2`, `.dll`, `.ini`, `.txt`, `.json`, `.dds`, `.nif`. The leading dot is optional (`esp` and `.esp` both work). Leave blank to list every file inside the mod's archive(s)."
          },
          "requirementDirection": {
            "title": "Requirement direction (mode=modRequirements)",
            "enum": [
              "all",
              "requires",
              "requiredBy"
            ],
            "type": "string",
            "description": "Which side of the dependency relationship to return for each mod ID.",
            "default": "all"
          },
          "collectionSlug": {
            "title": "Collection slug (mode=collectionMods, collectionComments, collectionChangelog, collectionBugReports)",
            "type": "string",
            "description": "Nexus Mods collection slug identifying the collection to list mods/comments/changelog/bug reports for, e.g. `rqhcxy` (found in a collection page URL: nexusmods.com/games/<domain>/collections/<slug>)."
          },
          "collectionRevisionNumber": {
            "title": "Collection revision number (mode=collectionMods)",
            "minimum": 1,
            "maximum": 999999,
            "type": "integer",
            "description": "Exact revision number to fetch. Leave blank to fetch the collection's current published revision."
          },
          "collectionCommentsSortBy": {
            "title": "Sort by (mode=collectionComments)",
            "enum": [
              "createdAt",
              "likesCount"
            ],
            "type": "string",
            "description": "Collection comments sort order.",
            "default": "createdAt"
          },
          "bugReportStatusFilter": {
            "title": "Bug report status (mode=collectionBugReports)",
            "enum": [
              "open",
              "closed",
              "all"
            ],
            "type": "string",
            "description": "Which bug reports to return for the collection.",
            "default": "open"
          },
          "category": {
            "title": "Category filter (mode=search)",
            "type": "string",
            "description": "Restrict results to a mod category exactly as Nexus Mods labels it for that game, e.g. `Armour`, `Weapons`, `Gameplay`, `Overhauls`, `Followers & Companions`. Categories are game-specific — check a game's mod-browse page for its exact category names."
          },
          "tag": {
            "title": "Tag filter (mode=search)",
            "type": "string",
            "description": "Restrict results to mods carrying an exact Nexus Mods tag, e.g. `Overhaul`, `Lore-Friendly`, `Quality of Life`, `Bug Fixes`, `Cheating`. Use `mode=browseTags` to discover the exact valid tag names for a game."
          },
          "author": {
            "title": "Author filter (mode=search)",
            "type": "string",
            "description": "Restrict results to mods whose author/uploader credit contains this name, e.g. `Chesko`."
          },
          "languageName": {
            "title": "Language filter (mode=search)",
            "type": "string",
            "description": "Restrict results to mods tagged with this exact translation language, e.g. `Russian`, `German`, `Polish`, `French`, `Spanish`."
          },
          "minDownloads": {
            "title": "Minimum total downloads (mode=search)",
            "minimum": 0,
            "maximum": 1000000000,
            "type": "integer",
            "description": "Only return mods with at least this many total downloads."
          },
          "minEndorsements": {
            "title": "Minimum endorsements (mode=search)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only return mods with at least this many endorsements."
          },
          "supportsVortexFilter": {
            "title": "Vortex support (mode=search)",
            "enum": [
              "any",
              "vortexOnly",
              "nonVortexOnly"
            ],
            "type": "string",
            "description": "Restrict results by whether the mod supports one-click install via the Vortex mod manager.",
            "default": "any"
          },
          "minFileSizeKb": {
            "title": "Minimum file size in KB (mode=search)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only return mods whose primary file size is at least this many kilobytes."
          },
          "maxFileSizeKb": {
            "title": "Maximum file size in KB (mode=search)",
            "minimum": 0,
            "maximum": 100000000,
            "type": "integer",
            "description": "Only return mods whose primary file size is at most this many kilobytes."
          },
          "directDownloadFilter": {
            "title": "Direct download support (mode=search)",
            "enum": [
              "any",
              "directDownloadOnly",
              "nonDirectDownloadOnly"
            ],
            "type": "string",
            "description": "Restrict results by whether the mod's files can be downloaded directly (no browser confirmation step) via the Nexus Mods API.",
            "default": "any"
          },
          "adultContentFilter": {
            "title": "Adult content (mode=search, browseCollections, browseMedia)",
            "enum": [
              "includeAdult",
              "excludeAdult",
              "onlyAdult"
            ],
            "type": "string",
            "description": "How to treat adult-only (18+) content in results.",
            "default": "includeAdult"
          },
          "sortBy": {
            "title": "Sort by (mode=search)",
            "enum": [
              "relevance",
              "downloads",
              "uniqueDownloads",
              "endorsements",
              "name",
              "createdAt",
              "updatedAt",
              "size",
              "random",
              "lastComment"
            ],
            "type": "string",
            "description": "Mod sort order.",
            "default": "endorsements"
          },
          "sortDirection": {
            "title": "Sort direction (mode=search, browseGames, browseCollections, browseMedia, collectionComments, searchUsers)",
            "enum": [
              "ASC",
              "DESC"
            ],
            "type": "string",
            "description": "Ascending or descending sort order.",
            "default": "DESC"
          },
          "gameNameQuery": {
            "title": "Game name query (mode=browseGames)",
            "type": "string",
            "description": "Free-text filter matched against game names, e.g. `skyrim`, `fallout`, `stardew`. Must be at least 2 characters (shorter values are ignored). Leave blank to browse the full games catalog."
          },
          "browseGamesSortBy": {
            "title": "Sort by (mode=browseGames)",
            "enum": [
              "mods",
              "downloads",
              "collections",
              "name",
              "approved",
              "relevance"
            ],
            "type": "string",
            "description": "Games catalog sort order.",
            "default": "mods"
          },
          "collectionCategory": {
            "title": "Category filter (mode=browseCollections)",
            "enum": [
              "Total Overhaul",
              "Vanilla Plus",
              "Themed",
              "Essentials",
              "Miscellaneous"
            ],
            "type": "string",
            "description": "Restrict results to collections in one fixed Nexus Mods collection category."
          },
          "collectionTag": {
            "title": "Tag filter (mode=browseCollections)",
            "type": "string",
            "description": "Restrict results to collections carrying this exact Nexus Mods collection tag, e.g. `Environment`, `Gameplay`, `Bug Fixes`, `Quality of Life`, `Lore-friendly`, `UI`, `Visual`."
          },
          "browseCollectionsSortBy": {
            "title": "Sort by (mode=browseCollections)",
            "enum": [
              "relevance",
              "createdAt",
              "updatedAt",
              "endorsements",
              "downloads",
              "rating",
              "recentRating"
            ],
            "type": "string",
            "description": "Collections sort order.",
            "default": "endorsements"
          },
          "newsCategory": {
            "title": "News category (mode=browseNews)",
            "enum": [
              "all",
              "SITE_NEWS",
              "GAME_NEWS",
              "MOD_NEWS",
              "INTERVIEWS",
              "COMPETITIONS",
              "FEATURES"
            ],
            "type": "string",
            "description": "Restrict to one official news category, or `all` for every category.",
            "default": "all"
          },
          "username": {
            "title": "Username (mode=userProfile)",
            "type": "string",
            "description": "Exact Nexus Mods username to look up, e.g. `Chesko`. Ignored if `memberId` is set."
          },
          "memberId": {
            "title": "Member ID (mode=userProfile)",
            "minimum": 1,
            "maximum": 999999999,
            "type": "integer",
            "description": "Exact numeric Nexus Mods member ID to look up. Takes priority over `username` when set."
          },
          "userSearchQuery": {
            "title": "User search query (mode=searchUsers)",
            "type": "string",
            "description": "Free-text query matched against Nexus Mods usernames (partial/substring match), e.g. `chesko`, `dark`, `mod`. Must be at least 2 characters."
          },
          "searchUsersSortBy": {
            "title": "Sort by (mode=searchUsers)",
            "enum": [
              "relevance",
              "name"
            ],
            "type": "string",
            "description": "User search sort order.",
            "default": "relevance"
          },
          "mediaSearchQuery": {
            "title": "Media search query (mode=browseMedia)",
            "type": "string",
            "description": "Free-text query matched against screenshot/video captions and descriptions, e.g. `armor`, `landscape`, `follower`. Leave blank to browse all community media for the game."
          },
          "mediaTypeFilter": {
            "title": "Media type (mode=browseMedia)",
            "enum": [
              "any",
              "image",
              "video"
            ],
            "type": "string",
            "description": "Restrict results to only screenshots or only videos.",
            "default": "any"
          },
          "browseMediaSortBy": {
            "title": "Sort by (mode=browseMedia)",
            "enum": [
              "createdAt",
              "views",
              "rating",
              "random"
            ],
            "type": "string",
            "description": "Community media sort order.",
            "default": "createdAt"
          },
          "md5Hashes": {
            "title": "MD5 hashes (mode=fileHashLookup)",
            "type": "array",
            "description": "One or more 32-character hex MD5 checksums of a downloaded file to identify which Nexus Mods mod/file it belongs to, e.g. `d41d8cd98f00b204e9800998ecf8427e`. Invalid (non-hex or wrong-length) entries are dropped.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "maxItems": {
            "title": "Max items",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Hard cap on emitted records.",
            "default": 20
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}