<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.factorio.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vince</id>
	<title>Official Factorio Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.factorio.com/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Vince"/>
	<link rel="alternate" type="text/html" href="https://wiki.factorio.com/Special:Contributions/Vince"/>
	<updated>2026-04-23T05:10:11Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=181224</id>
		<title>Mod portal API</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=181224"/>
		<updated>2020-08-12T09:43:46Z</updated>

		<summary type="html">&lt;p&gt;Vince: /* Result Entry */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Mod Portal API is used to both browse and download all mods available on the [https://mods.factorio.com/ official Factorio mod portal]. Using the API does not require any kind of authentication or account information and can be viewed simply by following the URLs below in any web browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed information about a particular mod can be obtained by retrieving the following URL, where {name} is the mod&#039;s name field in the result object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get even more information about a mod, you can use the following URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}/full&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Endpoints ==&lt;br /&gt;
&lt;br /&gt;
=== /api/mods ===&lt;br /&gt;
&lt;br /&gt;
GET Parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Values !! Description&lt;br /&gt;
|-&lt;br /&gt;
| page ||{an integer}||Page number you would like to show. Makes it so you can see a certain part of the list without getting detail on all&lt;br /&gt;
|-&lt;br /&gt;
| page_size ||{an integer or &#039;max&#039;}||The amount of results to show in your search&lt;br /&gt;
|-&lt;br /&gt;
| namelist || {array of strings} || Return only mods that match the given names. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns [[#Mod List Response]]&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name} ===&lt;br /&gt;
&lt;br /&gt;
Return short information of a specific mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Short&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name}/full ===&lt;br /&gt;
&lt;br /&gt;
Returns more information of a mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Full&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
== JSON Object Types ==&lt;br /&gt;
&lt;br /&gt;
=== Mod List Response ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| pagination || [[#Pagination|Pagination]] || See [[#Pagination]]&lt;br /&gt;
|-&lt;br /&gt;
| results || [[#Result Entry|Result]][] || A list of mods, matching any filters you specified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| count || Integer || Total number of mods that match your specified filters.&lt;br /&gt;
|-&lt;br /&gt;
| links || [[#Pagination_Links|Links]] || Utility links to mod portal api requests, preserving all filters and search queries.&lt;br /&gt;
|-&lt;br /&gt;
| page || Integer || The current page number.&lt;br /&gt;
|-&lt;br /&gt;
| page_count || Integer || The total number of pages returned.&lt;br /&gt;
|-&lt;br /&gt;
| page_size || Integer || The number of results per page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination Links ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| first || String(URL) || URL to the first page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|- &lt;br /&gt;
| prev || String(URL) || URL to the previous page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|-&lt;br /&gt;
| next || String(URL) || URL to the next page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|-&lt;br /&gt;
| last || String(URL) || URL to the last page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Result Entry ===&lt;br /&gt;
&lt;br /&gt;
Fields returned by the api/mods endpoint are marked with a check (✓) in the &amp;quot;api/mods endpoint&amp;quot; column, those returned by the api/mods/{name} endpoint are marked with a check in the &amp;quot;Short&amp;quot; column and those returned by the api/mods/{name}/full endpoint are marked in the &amp;quot;Full&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | api/mods endpoint !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Short !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Full !! Description&lt;br /&gt;
|-&lt;br /&gt;
| downloads_count || Integer || ✓ || ✓ || ✓&lt;br /&gt;
| Number of downloads.&lt;br /&gt;
|-&lt;br /&gt;
| latest_release || [[#Releases|Release]] || ✓ || ||&lt;br /&gt;
| The latest version of the mod available for download. See [[#Releases]]&lt;br /&gt;
|-&lt;br /&gt;
| name || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s machine-readable ID string.&lt;br /&gt;
|-&lt;br /&gt;
| owner || String || ✓ || ✓ || ✓&lt;br /&gt;
| The Factorio username of the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
| releases || [[#Releases|Release]][] || || ✓ || ✓&lt;br /&gt;
| A list of different versions of the mod available for download. See [[#Releases]]&lt;br /&gt;
|-&lt;br /&gt;
| summary || String || ✓ || ✓ || ✓&lt;br /&gt;
| A shorter mod description.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s human-readable name.&lt;br /&gt;
|-&lt;br /&gt;
| category || [[#Tags|Tag]]? || ✓ || ✓ || ✓&lt;br /&gt;
| A single tag describing the mod. Warning: Seems to be absent sometimes. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
| changelog || String || || || ✓&lt;br /&gt;
| A string describing the recent changes to a mod&lt;br /&gt;
|- &lt;br /&gt;
| created_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 6501 for when the mod was created.&lt;br /&gt;
|-&lt;br /&gt;
| description || String || || || ✓&lt;br /&gt;
| A longer description of the mod, in text only format.&lt;br /&gt;
|-&lt;br /&gt;
| github_path || String || || || ✓&lt;br /&gt;
| A link to the mod&#039;s github project page, just prepend &amp;quot;github.com/&amp;quot;. Can be blank (&amp;quot;&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| homepage || String || || || ✓&lt;br /&gt;
| Usually a URL to the mod&#039;s main project page, but can be any string.&lt;br /&gt;
|-&lt;br /&gt;
| tag || [[#Tags|Tag]][] || || || ✓&lt;br /&gt;
| A list of tag objects that categorize the mod. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
Only difference here between the api/mods/{name} endpoint and the api/mods/{name}/full endpoint is that the full one includes an array of dependencies in the info_json object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| download_url || String &lt;br /&gt;
| Path to download for a mod. starts with &amp;quot;/download&amp;quot; and does not include a full url. See [[#Downloading Mods]]&lt;br /&gt;
|-&lt;br /&gt;
| file_name || String &lt;br /&gt;
| The file name of the release. Always seems to follow the pattern &amp;quot;{name}_{version}.zip&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| info_json || Object &lt;br /&gt;
| A copy of the mod&#039;s info.json file, only contains factorio_version in short version, also contains an array of dependencies in full version&lt;br /&gt;
|- &lt;br /&gt;
| released_at || String(ISO 8601) &lt;br /&gt;
| ISO 6501 for when the mod was released.&lt;br /&gt;
|-&lt;br /&gt;
| version || String &lt;br /&gt;
| The version string of this mod release. Used to determine dependencies. &lt;br /&gt;
|-&lt;br /&gt;
| sha1 || String &lt;br /&gt;
| The sha1 key for the file&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| id || Integer || A numerical ID unique to this tag.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || An all lower-case string used to identify this tag internally.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || The tag&#039;s human-readable tag name.&lt;br /&gt;
|-&lt;br /&gt;
| description || String || A short description for the tag.&lt;br /&gt;
|-&lt;br /&gt;
| type || String || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Currently, there are only a fixed number of tags available, these include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! id !! type !! name !! title !! description&lt;br /&gt;
|-&lt;br /&gt;
| 1 || t || general || General || Mods that cannot be sorted into other categories&lt;br /&gt;
|-&lt;br /&gt;
| 2 || t || non-game-changing || Non-Game-Changing || Changes only look&amp;amp;feel. New graphics, new sounds, ... such things.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || t || helper-mods || Helper Mods || These mods are not game-changing, but enhance the gameplay by helping you with useful functions. Mods like showing the current game-time, keep track over your resources, rail-laying...&lt;br /&gt;
|-&lt;br /&gt;
| 6 || t || big-mods || Big Mods || Too big and/or changes too much of the game to be fit anywhere else&lt;br /&gt;
|-&lt;br /&gt;
| 12 || t || transportation || Transportation || Player transport&lt;br /&gt;
|-&lt;br /&gt;
| 13 || t || logistics || Logistics || Transport of materials&lt;br /&gt;
|-&lt;br /&gt;
| 14 || t || utility || Utility || Helps with certain things the player is doing.&lt;br /&gt;
|-&lt;br /&gt;
| 15 || t || balancing || Balancing || Makes the game much more fair&lt;br /&gt;
|-&lt;br /&gt;
| 17 || t || enemies || Enemies || Adds more enemies for more challange&lt;br /&gt;
|-&lt;br /&gt;
| 16 || t || weapons || Weapons || Adds more weapons to annihilate the enemy&lt;br /&gt;
|-&lt;br /&gt;
| 18 || t || armor || Armor || Armors or armor equipment related.&lt;br /&gt;
|-&lt;br /&gt;
| 19 || t || oil || Oil || Things related to oil related manufacture&lt;br /&gt;
|-&lt;br /&gt;
| 20 || t || logistics-network || Logistics Network || Related to roboports and logistic robots&lt;br /&gt;
|- &lt;br /&gt;
| 21 || t || storage || Storage || Allows more ways to be able to store items&lt;br /&gt;
|-&lt;br /&gt;
| 22 || t || power-production || Power Production || Allows more ways to create mass amounts of energy&lt;br /&gt;
|-&lt;br /&gt;
| 23 || t || manufacture || Manufacture || Furnaces, assembling machines, production chains&lt;br /&gt;
|-&lt;br /&gt;
| 24 || t || blueprints || Blueprints || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || t || cheats || Cheats || Well, they let you cheat&lt;br /&gt;
|- &lt;br /&gt;
| 26 || t || defense || Defense || Mods that add the ability to protect your base more&lt;br /&gt;
|-&lt;br /&gt;
| 27 || t || mining || Mining || Mods that provide better or new ways of mining resources&lt;br /&gt;
|-&lt;br /&gt;
| 28 || t || info || Info || Mods that provide additional information to the player&lt;br /&gt;
|-&lt;br /&gt;
| 29 || t || trains || Trains || Related to trains&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| detail || String ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Downloading Mods ==&lt;br /&gt;
&lt;br /&gt;
You can get the full url by appending the download_url to mods.factorio.com, but if you&#039;re not authenticated, you will be redirected to mods.factorio.com/login. Logging in to that would give you access to the file. Fortunately, there&#039;s a better way to do this. Simply adding username and token parameters to the download url will prevent the redirecting and let you download the file immediately. The token can be acquired from a json file called &amp;quot;player-data.json&amp;quot;, located in the User Data directory (see [[Application_directory#User_data_directory]]). You can also get the token by using the [[Web_authentication_API | Web Authentication API]].&lt;br /&gt;
&lt;br /&gt;
Example usage:&lt;br /&gt;
https://mods.factorio.com/{download_url}?username={username}&amp;amp;token={token}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages}}[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Vince</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=181223</id>
		<title>Mod portal API</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Mod_portal_API&amp;diff=181223"/>
		<updated>2020-08-12T09:43:03Z</updated>

		<summary type="html">&lt;p&gt;Vince: /* Result Entry */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
The Mod Portal API is used to both browse and download all mods available on the [https://mods.factorio.com/ official Factorio mod portal]. Using the API does not require any kind of authentication or account information and can be viewed simply by following the URLs below in any web browser.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
More detailed information about a particular mod can be obtained by retrieving the following URL, where {name} is the mod&#039;s name field in the result object.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To get even more information about a mod, you can use the following URL.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://mods.factorio.com/api/mods/{name}/full&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Endpoints ==&lt;br /&gt;
&lt;br /&gt;
=== /api/mods ===&lt;br /&gt;
&lt;br /&gt;
GET Parameters:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Values !! Description&lt;br /&gt;
|-&lt;br /&gt;
| page ||{an integer}||Page number you would like to show. Makes it so you can see a certain part of the list without getting detail on all&lt;br /&gt;
|-&lt;br /&gt;
| page_size ||{an integer or &#039;max&#039;}||The amount of results to show in your search&lt;br /&gt;
|-&lt;br /&gt;
| namelist || {array of strings} || Return only mods that match the given names. &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Returns [[#Mod List Response]]&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name} ===&lt;br /&gt;
&lt;br /&gt;
Return short information of a specific mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Short&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
=== /api/mods/{mod_name}/full ===&lt;br /&gt;
&lt;br /&gt;
Returns more information of a mod.&lt;br /&gt;
&lt;br /&gt;
See [[#Result Entry]], &amp;quot;Full&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
== JSON Object Types ==&lt;br /&gt;
&lt;br /&gt;
=== Mod List Response ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| pagination || [[#Pagination|Pagination]] || See [[#Pagination]]&lt;br /&gt;
|-&lt;br /&gt;
| results || [[#Result Entry|Result]][] || A list of mods, matching any filters you specified.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| count || Integer || Total number of mods that match your specified filters.&lt;br /&gt;
|-&lt;br /&gt;
| links || [[#Pagination_Links|Links]] || Utility links to mod portal api requests, preserving all filters and search queries.&lt;br /&gt;
|-&lt;br /&gt;
| page || Integer || The current page number.&lt;br /&gt;
|-&lt;br /&gt;
| page_count || Integer || The total number of pages returned.&lt;br /&gt;
|-&lt;br /&gt;
| page_size || Integer || The number of results per page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pagination Links ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| first || String(URL) || URL to the first page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|- &lt;br /&gt;
| prev || String(URL) || URL to the previous page of the results, or null if you&#039;re already on the first page.&lt;br /&gt;
|-&lt;br /&gt;
| next || String(URL) || URL to the next page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|-&lt;br /&gt;
| last || String(URL) || URL to the last page of the results, or null if you&#039;re already on the last page.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Result Entry ===&lt;br /&gt;
&lt;br /&gt;
Fields returned by the api/mods endpoint are marked with a check (✓) in the &amp;quot;api/mods endpoint&amp;quot; column, those returned by the api/mods/{name} endpoint are marked with a check in the &amp;quot;Short&amp;quot; column and those returned by the api/mods/{name}/full endpoint are marked in the &amp;quot;Full&amp;quot; column.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | api/mods endpoint !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Short !!+ style=&#039;writing-mode:vertical-lr;vertical-align:bottom;font-size:90%&#039; | Full !! Description&lt;br /&gt;
|-&lt;br /&gt;
| downloads_count || Integer || ✓ || ✓ || ✓&lt;br /&gt;
| Number of downloads.&lt;br /&gt;
|-&lt;br /&gt;
| latest_release || [[#Releases|Release]] || ✓ || ||&lt;br /&gt;
| The latest version of the mod available for download. See [[#Releases]]&lt;br /&gt;
|-&lt;br /&gt;
| name || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s machine-readable ID string.&lt;br /&gt;
|-&lt;br /&gt;
| owner || String || ✓ || ✓ || ✓&lt;br /&gt;
| The Factorio username of the mod&#039;s author.&lt;br /&gt;
|-&lt;br /&gt;
| releases || [[#Releases|Release]][] || || ✓ || ✓&lt;br /&gt;
| A list of different versions of the mod available for download. See [[#Releases]]&lt;br /&gt;
|-&lt;br /&gt;
| summary || String || ✓ || ✓ || ✓&lt;br /&gt;
| A shorter mod description.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || ✓ || ✓ || ✓&lt;br /&gt;
| The mod&#039;s human-readable name.&lt;br /&gt;
|-&lt;br /&gt;
| category || String || ✓ || ✓ || ✓&lt;br /&gt;
| A single tag describing the mod. Warning: Seems to be absent sometimes. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
| changelog || String || || || ✓&lt;br /&gt;
| A string describing the recent changes to a mod&lt;br /&gt;
|- &lt;br /&gt;
| created_at || String(ISO 8601) || || || ✓&lt;br /&gt;
| ISO 6501 for when the mod was created.&lt;br /&gt;
|-&lt;br /&gt;
| description || String || || || ✓&lt;br /&gt;
| A longer description of the mod, in text only format.&lt;br /&gt;
|-&lt;br /&gt;
| github_path || String || || || ✓&lt;br /&gt;
| A link to the mod&#039;s github project page, just prepend &amp;quot;github.com/&amp;quot;. Can be blank (&amp;quot;&amp;quot;).&lt;br /&gt;
|-&lt;br /&gt;
| homepage || String || || || ✓&lt;br /&gt;
| Usually a URL to the mod&#039;s main project page, but can be any string.&lt;br /&gt;
|-&lt;br /&gt;
| tag || [[#Tags|Tag]][] || || || ✓&lt;br /&gt;
| A list of tag objects that categorize the mod. See [[#Tags]].&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Releases ===&lt;br /&gt;
&lt;br /&gt;
Only difference here between the api/mods/{name} endpoint and the api/mods/{name}/full endpoint is that the full one includes an array of dependencies in the info_json object.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| download_url || String &lt;br /&gt;
| Path to download for a mod. starts with &amp;quot;/download&amp;quot; and does not include a full url. See [[#Downloading Mods]]&lt;br /&gt;
|-&lt;br /&gt;
| file_name || String &lt;br /&gt;
| The file name of the release. Always seems to follow the pattern &amp;quot;{name}_{version}.zip&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| info_json || Object &lt;br /&gt;
| A copy of the mod&#039;s info.json file, only contains factorio_version in short version, also contains an array of dependencies in full version&lt;br /&gt;
|- &lt;br /&gt;
| released_at || String(ISO 8601) &lt;br /&gt;
| ISO 6501 for when the mod was released.&lt;br /&gt;
|-&lt;br /&gt;
| version || String &lt;br /&gt;
| The version string of this mod release. Used to determine dependencies. &lt;br /&gt;
|-&lt;br /&gt;
| sha1 || String &lt;br /&gt;
| The sha1 key for the file&lt;br /&gt;
|- &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Tags ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| id || Integer || A numerical ID unique to this tag.&lt;br /&gt;
|-&lt;br /&gt;
| name || String || An all lower-case string used to identify this tag internally.&lt;br /&gt;
|-&lt;br /&gt;
| title || String || The tag&#039;s human-readable tag name.&lt;br /&gt;
|-&lt;br /&gt;
| description || String || A short description for the tag.&lt;br /&gt;
|-&lt;br /&gt;
| type || String || &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Currently, there are only a fixed number of tags available, these include:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! id !! type !! name !! title !! description&lt;br /&gt;
|-&lt;br /&gt;
| 1 || t || general || General || Mods that cannot be sorted into other categories&lt;br /&gt;
|-&lt;br /&gt;
| 2 || t || non-game-changing || Non-Game-Changing || Changes only look&amp;amp;feel. New graphics, new sounds, ... such things.&lt;br /&gt;
|-&lt;br /&gt;
| 3 || t || helper-mods || Helper Mods || These mods are not game-changing, but enhance the gameplay by helping you with useful functions. Mods like showing the current game-time, keep track over your resources, rail-laying...&lt;br /&gt;
|-&lt;br /&gt;
| 6 || t || big-mods || Big Mods || Too big and/or changes too much of the game to be fit anywhere else&lt;br /&gt;
|-&lt;br /&gt;
| 12 || t || transportation || Transportation || Player transport&lt;br /&gt;
|-&lt;br /&gt;
| 13 || t || logistics || Logistics || Transport of materials&lt;br /&gt;
|-&lt;br /&gt;
| 14 || t || utility || Utility || Helps with certain things the player is doing.&lt;br /&gt;
|-&lt;br /&gt;
| 15 || t || balancing || Balancing || Makes the game much more fair&lt;br /&gt;
|-&lt;br /&gt;
| 17 || t || enemies || Enemies || Adds more enemies for more challange&lt;br /&gt;
|-&lt;br /&gt;
| 16 || t || weapons || Weapons || Adds more weapons to annihilate the enemy&lt;br /&gt;
|-&lt;br /&gt;
| 18 || t || armor || Armor || Armors or armor equipment related.&lt;br /&gt;
|-&lt;br /&gt;
| 19 || t || oil || Oil || Things related to oil related manufacture&lt;br /&gt;
|-&lt;br /&gt;
| 20 || t || logistics-network || Logistics Network || Related to roboports and logistic robots&lt;br /&gt;
|- &lt;br /&gt;
| 21 || t || storage || Storage || Allows more ways to be able to store items&lt;br /&gt;
|-&lt;br /&gt;
| 22 || t || power-production || Power Production || Allows more ways to create mass amounts of energy&lt;br /&gt;
|-&lt;br /&gt;
| 23 || t || manufacture || Manufacture || Furnaces, assembling machines, production chains&lt;br /&gt;
|-&lt;br /&gt;
| 24 || t || blueprints || Blueprints || &lt;br /&gt;
|-&lt;br /&gt;
| 25 || t || cheats || Cheats || Well, they let you cheat&lt;br /&gt;
|- &lt;br /&gt;
| 26 || t || defense || Defense || Mods that add the ability to protect your base more&lt;br /&gt;
|-&lt;br /&gt;
| 27 || t || mining || Mining || Mods that provide better or new ways of mining resources&lt;br /&gt;
|-&lt;br /&gt;
| 28 || t || info || Info || Mods that provide additional information to the player&lt;br /&gt;
|-&lt;br /&gt;
| 29 || t || trains || Trains || Related to trains&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Error ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Key !! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| detail || String ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Downloading Mods ==&lt;br /&gt;
&lt;br /&gt;
You can get the full url by appending the download_url to mods.factorio.com, but if you&#039;re not authenticated, you will be redirected to mods.factorio.com/login. Logging in to that would give you access to the file. Fortunately, there&#039;s a better way to do this. Simply adding username and token parameters to the download url will prevent the redirecting and let you download the file immediately. The token can be acquired from a json file called &amp;quot;player-data.json&amp;quot;, located in the User Data directory (see [[Application_directory#User_data_directory]]). You can also get the token by using the [[Web_authentication_API | Web Authentication API]].&lt;br /&gt;
&lt;br /&gt;
Example usage:&lt;br /&gt;
https://mods.factorio.com/{download_url}?username={username}&amp;amp;token={token}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{Languages}}[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Vince</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Download_API&amp;diff=181222</id>
		<title>Download API</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Download_API&amp;diff=181222"/>
		<updated>2020-08-12T09:28:59Z</updated>

		<summary type="html">&lt;p&gt;Vince: /* Version Listings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This API allows you to download official releases of stand-alone Factorio from the Factorio servers. It&#039;s not so much of an API as it is web scraping, but it&#039;s documented here for completeness. Please update this page if you utilize it and the information becomes outdated. Also note that&#039;s there&#039;s a separate, (semi)official API for upgrading between releases, which should be used when possible to lighten the load on the Factorio servers. (I&#039;ll document that later, promise!)&lt;br /&gt;
&lt;br /&gt;
== Authenticating ==&lt;br /&gt;
&lt;br /&gt;
Downloading Factorio requires an authenticated session with the web server, which is different than the typical API authentication mechanism. Authentication uses the HTML endpoint at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://www.factorio.com/login&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Login in procedure:&lt;br /&gt;
&lt;br /&gt;
# Create an HTTP session and send a GET request. You&#039;ll get some HTML in return.&amp;lt;br&amp;gt;There&#039;s a [[:Wikipedia:Cross-site_request_forgery#Synchronizer_token_pattern|CSRF token]] you&#039;ll need to grab which can be found using one of the following selectors:&lt;br /&gt;
#* CSS1: &amp;lt;code&amp;gt;input[name=csrf_token]&amp;lt;/code&amp;gt; (and then take the &amp;quot;value&amp;quot; attribute).&lt;br /&gt;
#* XPATH1: &amp;lt;code&amp;gt;//input[@name=&amp;quot;csrf_token&amp;quot;]/@value&amp;lt;/code&amp;gt;&lt;br /&gt;
# Then send a POST request with the following parameters:&lt;br /&gt;
#* &amp;lt;code&amp;gt;csrf_token&amp;lt;/code&amp;gt;: the CSRF token you grabbed earlier.&lt;br /&gt;
#* &amp;lt;code&amp;gt;username_or_email&amp;lt;/code&amp;gt;: your username or email address.&lt;br /&gt;
#* &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt;: your password.&lt;br /&gt;
&lt;br /&gt;
== Downloading ==&lt;br /&gt;
&lt;br /&gt;
Download Factorio releases at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://www.factorio.com/get-download/{version}/{build}/{distro}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Where {version} is the version string of the release you wish to grab - e.g. &amp;quot;0.15.31&amp;quot;. Use &amp;quot;latest&amp;quot; instead to default to the latest version for that build.&lt;br /&gt;
* {build} is the release build, which currently comprises of:&lt;br /&gt;
** &amp;lt;code&amp;gt;alpha&amp;lt;/code&amp;gt; - the current standard full-featured build.&lt;br /&gt;
** &amp;lt;code&amp;gt;demo&amp;lt;/code&amp;gt; - the free, publicly accessible demo versions.&lt;br /&gt;
** &amp;lt;code&amp;gt;headless&amp;lt;/code&amp;gt; - for running servers on machines without graphical interface. &lt;br /&gt;
* and {distro} is the os / type of release you wish to download, currently:&lt;br /&gt;
** &amp;lt;code&amp;gt;win64&amp;lt;/code&amp;gt; - EXE installer for 64 bit Windows.&lt;br /&gt;
** &amp;lt;code&amp;gt;win64-manual&amp;lt;/code&amp;gt; - ZIP package for 64 bit Windows.&lt;br /&gt;
** &amp;lt;code&amp;gt;win32&amp;lt;/code&amp;gt; - EXE installer for 32 bit Windows. &#039;&#039;No longer supported.&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;win32-manual&amp;lt;/code&amp;gt; - ZIP package for 32 bit Windows. &#039;&#039;No longer supported.&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt; - DMG package for 64 bit Mac OS.&lt;br /&gt;
** &amp;lt;code&amp;gt;linux64&amp;lt;/code&amp;gt; - tar.gz or tar.xz package for 64 bit Linux.&lt;br /&gt;
** &amp;lt;code&amp;gt;linux32&amp;lt;/code&amp;gt; - tar.gz or tar.xz package for 32 bit Linux. &#039;&#039;No longer supported.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Factorio servers will correctly respond with a 404 if the requested download isn&#039;t available. Experimental builds are taken down quickly after they become obsolete, so it&#039;s best to check what versions are available before hand (documented below).&lt;br /&gt;
&lt;br /&gt;
Note: Windows 32 bit and 64 bit installers are [https://en.wikipedia.org/wiki/Inno_Setup Inno Setup] formatted packages (I&#039;ll document that somewhere someday).&lt;br /&gt;
&lt;br /&gt;
== Version Listings ==&lt;br /&gt;
There is an API endpoint to find the latest version number at &amp;lt;code&amp;gt;https://factorio.com/api/latest-releases&amp;lt;/code&amp;gt;. This can be polled to automatically detect when a new update was released.&lt;br /&gt;
&lt;br /&gt;
Due to changes in the Factorio website, all Factorio versions are now available on the HTML page at this location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://www.factorio.com/download/archive&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: This endpoint require an authenticated session as mentioned above.&lt;br /&gt;
&lt;br /&gt;
You could the grab all the informations you need by parsing the HTML using selectors but I would recommend only searching for the pattern &amp;lt;code&amp;gt;href=&amp;quot;/get-download/*&amp;quot;&amp;lt;/code&amp;gt; and then parse the relative link according to the &amp;lt;code&amp;gt;/get-download/{version}/{build}/{distro}&amp;lt;/code&amp;gt; structure described in the section above. The second method has a clear advantage of reliability through potential HTML structure changes and simplicity.&lt;br /&gt;
&lt;br /&gt;
It is also better to rely on the &amp;lt;code&amp;gt;https://factorio.com/api/latest-releases&amp;lt;/code&amp;gt; endpoint and version number comparisons to distinguish between stable and experimental versions than to extract that information from the download HTML page with selectors.&lt;br /&gt;
&lt;br /&gt;
The previous endpoints for experimental and headless releases &amp;lt;code&amp;gt;https://www.factorio.com/download/experimental&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;https://www.factorio.com/download-headless&amp;lt;/code&amp;gt; now both redirect to this page containing only the latest releases:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://www.factorio.com/download&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The selectors used to retrieve version numbers and build combinations are presented below, but they are probably obsolete. I will check them later and update this section accordingly.&lt;br /&gt;
* CSS1: &amp;lt;code&amp;gt;h3&amp;lt;/code&amp;gt;&lt;br /&gt;
* XPATH1: &amp;lt;code&amp;gt;//h3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A list of available update packages is provided at &amp;lt;code&amp;gt;https://updater.factorio.com/get-available-versions&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Languages}}[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Vince</name></author>
	</entry>
	<entry>
		<id>https://wiki.factorio.com/index.php?title=Download_API&amp;diff=181221</id>
		<title>Download API</title>
		<link rel="alternate" type="text/html" href="https://wiki.factorio.com/index.php?title=Download_API&amp;diff=181221"/>
		<updated>2020-08-12T09:18:50Z</updated>

		<summary type="html">&lt;p&gt;Vince: /* Version Listings */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This API allows you to download official releases of stand-alone Factorio from the Factorio servers. It&#039;s not so much of an API as it is web scraping, but it&#039;s documented here for completeness. Please update this page if you utilize it and the information becomes outdated. Also note that&#039;s there&#039;s a separate, (semi)official API for upgrading between releases, which should be used when possible to lighten the load on the Factorio servers. (I&#039;ll document that later, promise!)&lt;br /&gt;
&lt;br /&gt;
== Authenticating ==&lt;br /&gt;
&lt;br /&gt;
Downloading Factorio requires an authenticated session with the web server, which is different than the typical API authentication mechanism. Authentication uses the HTML endpoint at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://www.factorio.com/login&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Login in procedure:&lt;br /&gt;
&lt;br /&gt;
# Create an HTTP session and send a GET request. You&#039;ll get some HTML in return.&amp;lt;br&amp;gt;There&#039;s a [[:Wikipedia:Cross-site_request_forgery#Synchronizer_token_pattern|CSRF token]] you&#039;ll need to grab which can be found using one of the following selectors:&lt;br /&gt;
#* CSS1: &amp;lt;code&amp;gt;input[name=csrf_token]&amp;lt;/code&amp;gt; (and then take the &amp;quot;value&amp;quot; attribute).&lt;br /&gt;
#* XPATH1: &amp;lt;code&amp;gt;//input[@name=&amp;quot;csrf_token&amp;quot;]/@value&amp;lt;/code&amp;gt;&lt;br /&gt;
# Then send a POST request with the following parameters:&lt;br /&gt;
#* &amp;lt;code&amp;gt;csrf_token&amp;lt;/code&amp;gt;: the CSRF token you grabbed earlier.&lt;br /&gt;
#* &amp;lt;code&amp;gt;username_or_email&amp;lt;/code&amp;gt;: your username or email address.&lt;br /&gt;
#* &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt;: your password.&lt;br /&gt;
&lt;br /&gt;
== Downloading ==&lt;br /&gt;
&lt;br /&gt;
Download Factorio releases at&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://www.factorio.com/get-download/{version}/{build}/{distro}&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Where {version} is the version string of the release you wish to grab - e.g. &amp;quot;0.15.31&amp;quot;. Use &amp;quot;latest&amp;quot; instead to default to the latest version for that build.&lt;br /&gt;
* {build} is the release build, which currently comprises of:&lt;br /&gt;
** &amp;lt;code&amp;gt;alpha&amp;lt;/code&amp;gt; - the current standard full-featured build.&lt;br /&gt;
** &amp;lt;code&amp;gt;demo&amp;lt;/code&amp;gt; - the free, publicly accessible demo versions.&lt;br /&gt;
** &amp;lt;code&amp;gt;headless&amp;lt;/code&amp;gt; - for running servers on machines without graphical interface. &lt;br /&gt;
* and {distro} is the os / type of release you wish to download, currently:&lt;br /&gt;
** &amp;lt;code&amp;gt;win64&amp;lt;/code&amp;gt; - EXE installer for 64 bit Windows.&lt;br /&gt;
** &amp;lt;code&amp;gt;win64-manual&amp;lt;/code&amp;gt; - ZIP package for 64 bit Windows.&lt;br /&gt;
** &amp;lt;code&amp;gt;win32&amp;lt;/code&amp;gt; - EXE installer for 32 bit Windows. &#039;&#039;No longer supported.&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;win32-manual&amp;lt;/code&amp;gt; - ZIP package for 32 bit Windows. &#039;&#039;No longer supported.&#039;&#039;&lt;br /&gt;
** &amp;lt;code&amp;gt;osx&amp;lt;/code&amp;gt; - DMG package for 64 bit Mac OS.&lt;br /&gt;
** &amp;lt;code&amp;gt;linux64&amp;lt;/code&amp;gt; - tar.gz or tar.xz package for 64 bit Linux.&lt;br /&gt;
** &amp;lt;code&amp;gt;linux32&amp;lt;/code&amp;gt; - tar.gz or tar.xz package for 32 bit Linux. &#039;&#039;No longer supported.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Factorio servers will correctly respond with a 404 if the requested download isn&#039;t available. Experimental builds are taken down quickly after they become obsolete, so it&#039;s best to check what versions are available before hand (documented below).&lt;br /&gt;
&lt;br /&gt;
Note: Windows 32 bit and 64 bit installers are [https://en.wikipedia.org/wiki/Inno_Setup Inno Setup] formatted packages (I&#039;ll document that somewhere someday).&lt;br /&gt;
&lt;br /&gt;
== Version Listings ==&lt;br /&gt;
There is an API endpoint to find the latest version number at &amp;lt;code&amp;gt;https://factorio.com/api/latest-releases&amp;lt;/code&amp;gt;. This can be polled to automatically detect when a new update was released.&lt;br /&gt;
&lt;br /&gt;
Due to changes in the Factorio website, all Factorio versions are now available on the HTML page at this location:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://www.factorio.com/download/archive&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: This endpoint require an authenticated session as mentioned above.&lt;br /&gt;
&lt;br /&gt;
You could the grab all the informations you need by parsing the HTML using selectors but I would recommend only searching for the pattern &amp;lt;code&amp;gt;href=&amp;quot;/get-download/*&amp;quot;&amp;lt;/code&amp;gt; and then parse the relative link according to the &amp;quot;/get-download/{version}/{build}/{distro}&amp;quot; structure described in the section above. The second method has a clear advantage of reliability through potential HTML structure changes and simplicity.&lt;br /&gt;
&lt;br /&gt;
It is also better to rely on the &amp;lt;code&amp;gt;https://factorio.com/api/latest-releases&amp;lt;/code&amp;gt; endpoint and version number comparisons to distinguish between stable and experimental versions than to extract that information from the download HTML page with selectors.&lt;br /&gt;
&lt;br /&gt;
The previous endpoints for experimental and headless releases &amp;lt;code&amp;gt;https://www.factorio.com/download/experimental&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;https://www.factorio.com/download-headless&amp;lt;/code&amp;gt; now both redirect to this page containing only the latest releases:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;https://www.factorio.com/download&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The selectors used to retrieve version numbers and build combinations are presented below, but they are probably obsolete. I will check them later and update this section accordingly.&lt;br /&gt;
* CSS1: &amp;lt;code&amp;gt;h3&amp;lt;/code&amp;gt;&lt;br /&gt;
* XPATH1: &amp;lt;code&amp;gt;//h3&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
A list of available update packages is provided at &amp;lt;code&amp;gt;https://updater.factorio.com/get-available-versions&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
{{Languages}}[[Category:Technical]]&lt;/div&gt;</summary>
		<author><name>Vince</name></author>
	</entry>
</feed>