<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hans+van+Schoot</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hans+van+Schoot"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/Hans_van_Schoot"/>
	<updated>2026-07-01T04:52:17Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Remotely_update_library&amp;diff=138049</id>
		<title>HOW-TO:Remotely update library</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Remotely_update_library&amp;diff=138049"/>
		<updated>2018-05-26T18:03:56Z</updated>

		<summary type="html">&lt;p&gt;Hans van Schoot: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;Some quick methods to updating the Kodi library outside of the Kodi interface. There are also several [[supplemental tools]] and [[smartphone remotes]] that can remotely update the library as well. These methods require Settings&amp;gt;Services&amp;gt;Control&amp;gt;Allow remote control via HTTP to be enabled.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Command line==&lt;br /&gt;
To add new content to the library (Update):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;curl --data-binary &#039;{ &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;VideoLibrary.Scan&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;mybash&amp;quot;}&#039; -H &#039;content-type: application/json;&#039;  http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;curl --data-binary &#039;{ &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;AudioLibrary.Scan&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;mybash&amp;quot;}&#039; -H &#039;content-type: application/json;&#039;  http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To remove content from library (Clean):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;curl --data-binary &#039;{ &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;VideoLibrary.Clean&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;mybash&amp;quot;}&#039; -H &#039;content-type: application/json;&#039;  http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;curl --data-binary &#039;{ &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;AudioLibrary.Clean&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;mybash&amp;quot;}&#039; -H &#039;content-type: application/json;&#039;  http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Python==&lt;br /&gt;
To add new content to the video library (Update):&lt;br /&gt;
 import urllib, urllib2&lt;br /&gt;
 data = urllib.urlencode({&amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;VideoLibrary.Scan&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;})&lt;br /&gt;
 passman = urllib2.HTTPPasswordMgrWithDefaultRealm()&lt;br /&gt;
 passman.add_password(None, &amp;quot;hostname:port&amp;quot;, &#039;username&#039;, &#039;password&#039;)&lt;br /&gt;
 urllib2.install_opener(urllib2.build_opener(urllib2.HTTPBasicAuthHandler(passman)))&lt;br /&gt;
 &amp;lt;nowiki&amp;gt;req = urllib2.Request(&#039;http://hostname:port/jsonrpc&#039;, headers={ &amp;quot;Content-Type&amp;quot; : &amp;quot;application/json&amp;quot;})&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
 f = urllib2.urlopen(req, data=&#039;{&amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;VideoLibrary.Scan&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;1&amp;quot;}&#039;).read()&lt;br /&gt;
Replace the &amp;quot;VideoLibrary.Scan&amp;quot; in the second line with &amp;quot;AudioLibrary.Scan&amp;quot;, &amp;quot;VideoLibrary.Clean&amp;quot; or &amp;quot;AudioLibrary.Clean&amp;quot; to perform other actions.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Windows Command Line==&lt;br /&gt;
You will need the Win32 2000/XP binary version of cURL by Günter Knauf.  Download it here: http://curl.haxx.se/&lt;br /&gt;
Create a cURL folder in the Program Files directory and place the contents of the zip file in the root of that folder.  (You can put it elsewhere if you like just make sure you modify the code to reflect the location of the exe file) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add new content to the library (Update):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;C:\Program Files (x86)\cURL\curl.exe&amp;quot; -i -X POST -d &amp;quot;{\&amp;quot;jsonrpc\&amp;quot;: \&amp;quot;2.0\&amp;quot;, \&amp;quot;method\&amp;quot;: \&amp;quot;VideoLibrary.Scan\&amp;quot;, \&amp;quot;id\&amp;quot;: \&amp;quot;mybash\&amp;quot;}&amp;quot; -H &amp;quot;content-type:application/json&amp;quot; http://user:pass@localhost:port/jsonrpc &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;C:\Program Files (x86)\cURL\curl.exe&amp;quot; -i -X POST -d &amp;quot;{\&amp;quot;jsonrpc\&amp;quot;: \&amp;quot;2.0\&amp;quot;, \&amp;quot;method\&amp;quot;: \&amp;quot;AudioLibrary.Scan\&amp;quot;, \&amp;quot;id\&amp;quot;: \&amp;quot;mybash\&amp;quot;}&amp;quot; -H &amp;quot;content-type:application/json&amp;quot; http://user:pass@localhost:port/jsonrpc &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To remove content from library (Clean):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;C:\Program Files (x86)\cURL\curl.exe&amp;quot; -i -X POST -d &amp;quot;{\&amp;quot;jsonrpc\&amp;quot;: \&amp;quot;2.0\&amp;quot;, \&amp;quot;method\&amp;quot;: \&amp;quot;VideoLibrary.Clean\&amp;quot;, \&amp;quot;id\&amp;quot;: \&amp;quot;mybash\&amp;quot;}&amp;quot; -H &amp;quot;content-type:application/json&amp;quot; http://user:pass@localhost:port/jsonrpc &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;C:\Program Files (x86)\cURL\curl.exe&amp;quot; -i -X POST -d &amp;quot;{\&amp;quot;jsonrpc\&amp;quot;: \&amp;quot;2.0\&amp;quot;, \&amp;quot;method\&amp;quot;: \&amp;quot;AudioLibrary.Clean\&amp;quot;, \&amp;quot;id\&amp;quot;: \&amp;quot;mybash\&amp;quot;}&amp;quot; -H &amp;quot;content-type:application/json&amp;quot; http://user:pass@localhost:port/jsonrpc &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user:pass&amp;quot; with your username and password, localhost can remain unless doing it remotely in which case replace with IP address, replace &amp;quot;port&amp;quot; with the port number you have configured in your settings.  The &amp;quot; &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;quot; stops the command from displaying any output (for instance, when running a batch file).  You can leave that out if you want.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==HTTP (does not work in v18 Leia)==&lt;br /&gt;
To add new content to the library (Update):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc?request={&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;VideoLibrary.Scan&amp;quot;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc?request={&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;AudioLibrary.Scan&amp;quot;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To remove content from library (Clean):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc?request={&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;VideoLibrary.Clean&amp;quot;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc?request={&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;AudioLibrary.Clean&amp;quot;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
{{Updated|18}}&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Advanced topics]]&lt;/div&gt;</summary>
		<author><name>Hans van Schoot</name></author>
	</entry>
</feed>