# factorio > Factorio 1.x/2.x mods: zips in the mods folder, internal names, portal API, authenticated downloads. ## Identity Factorio uses Lua mods distributed as `.zip` files from mods.factorio.com. Dependencies are declared in each mod's `info.json`. ## Mod folder and format `%APPDATA%/Factorio/mods/` (Windows). Keep mods as `.zip`: NEVER extract them. `mod-list.json` in that folder lists mods and enabled state. Watch for stale duplicate versions of the same mod. ## Sources Only mods.factorio.com. Internal names differ from display names (for example "Bob's Adjustable Inserters" is `bobinserters`). Some mods are renamed/continued under new names; search before assuming a mod is gone. - List/lookup: `https://mods.factorio.com/api/mods//full` (no login needed). Read `releases[]`, filter by `info_json.factorio_version`, pick the newest compatible release. `download_url` starts with `/download/...`. - Download needs a logged-in account. With `download_file`, give the full URL `https://mods.factorio.com`; if the user set FACTORIO_USERNAME and FACTORIO_TOKEN in the environment, the tool adds them automatically (token is in Factorio's `player-data.json`). Never print or ask for the token in chat. - The user's bookmarked mods are an account-side list (API needs credentials). ## Compatibility Match `factorio_version` (for example 2.0). Mods marked 2.0 generally work on later 2.x, but check each page. Check `dependencies` in each release's `info_json` and download required ones too. ## Load order None manual. Dependencies decide order. ## Logs `%APPDATA%/Factorio/factorio-current.log`. Errors name the failing mod and the missing dependency or the Lua error line. ## Common failures Missing dependency -> download it from its page. Wrong game version -> pick an older release or another mod. Duplicate versions -> delete the older zip.