node package manager
Easy collaboration. Discover, share, and reuse code in your team. Create a free org »



Subtitles library / command line

Donate Build Status NPM version


After have installed node.js, run the following:

npm install subtitler -g


Login - get the login token from the opensubtitle service

var opensubtitles = require("subtitler");
    // got the auth token 


var opensubtitles = require("subtitler");
opensubtitles.api.searchForFile(login, lang, movieFilePath);
    //got the search results 
opensubtitles.api.searchForTitle(token, lang, text)
    //got the search results 
opensubtitles.api.searchForTag(token, lang, tag)
    //got the search results 
});, lang, {
    query: "",
    tag: ""
    //got the search results 

Logout - opensubtitles session logout ( please be nice! )

var opensubtitles = require("subtitler");

Command line

subtitler <file|directory|seachText>
    --lang eng|pob|...
    -n <numberOfSubtitlesToDownload>
    --retries <numberOfRetries>
    --retryIn <secondsToRetry>

if a file or directory is provided -- download is activated by default

if free text is provided -- performs a query into opensubtitles with it!

--lang The language to search ( be sure to check here )

-n specifies the number of subtitles to list or download if (--download is specified)

--download Flag to download the results. The downloaded result will have the same same as the file if it can, working well with TV players, etc...

--retries The number of retries in API error

--retryIn The seconds to wait before the next retry


-lang por
-lang pob
-lang eng
-lang fre
-lang spa

Check the languages table on here. Or the languages aliases on here.


Download subtitles for a file, automatically naming the subtitle file to be the same as the movie.

subtitler Cars.avi -lang eng

Search for subtitles (limit 5):

subtitler Cars -lang eng --n 5

Search and download to the current directory the first 5 subtitles:

subtitler Cars -lang eng -n 5 --download


Pull requests are welcome but please make sure the the linting and unit tests are working before you do that. Also adding unit tests will increase the acceptance of the pull request by 10000%!

grunt dev


Oscar Brito