Collect and analyse a user's public information
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Collect and analyze user's public information

User ID

A USER_ID is the string that comes after the
Example: => USER_ID = alexei.dvorac
Example #2: => USER_ID = id999999999


  1. Log in/Create account. Input your credentials. If you have an account click "LOG IN" OR press ENTER, otherwise click "CREATE ACCOUNT"
    Log in/Create account

  2. Home page.

    2.1 To add users, input USER_ID and press ENTER or click "ADD".
    Users added

    2.2 You can add as many USER_IDs as you want, however, there is a limit of max running stalkers per account, currently it is 2.
    Stalked users limit

    2.3 Also, there is a global limit of 5 concurrent workers. So, if you're not interested OR not going to use the app, please stop the stalkers that you have started.

  3. Start the stalker by clicking "STALK" in any of the added USER_ID cards
    Stalker started

  4. To see reports. Click on "REPORTS" in any of the stalking cards.
    Reports main

  5. Choose a report type. Some report types allow additional filtering (e.g. by date and/or time)
    Report types

    5.1 Music report
    Report music

    5.2 Updates report
    Report updates

Tips and tricks

  • You cannot start more than 2 workers, but you can add as many user IDs as you wish. This allows you to generate/view reports for any number of users if there is any data on their USER_ID. So, you can either periodically start/stop stalkers OR if you're lucky and someone else has collected (or is collecting) some data on USER_ID, you can generate reports without ever starting the stalker.
  • There is a console interface that provides the same functionality as the web interface (stalk/report). Just follow the setup steps.
  • You can run just the stalker, to collect data. By default it will output plenty of log messages and data, to prevent this, change the log_level in config.json
  • Take a look at config.json. You can add custom fields to be parsed, by specifying the type, selector and name (this will work for renaming currently scraped fields, however, reports and other output might break because of missing data)


  • Install NodeJS >= v6.2.2 (ubuntu help)
  • Install mongodb
  • Install PhantomJS
  • Navigate to ./src and run npm install
  • Use ./config/db_sample_config.json to create ./config/db.json; Update config with your DB credentials.
  • Use ./config/secrets_sample.json to create ./config/secrets.json; Add your secret key.
  • Navigate to src dir. To launch the app:
    -- Just the stalker: ./stalker/run stalk USER_ID (You'll see plenty of log messages and unformatted data. Log level can be changed in config.json)
    -- Console: ./console/run/ stalk USER_ID (Formatted output in console)
    -- Web: node ./web/server.js (The most user friendly option. Will start an Express server, providing point-and-click control over stalker's functionality)

USER_ID is to be replaced with the ID of the target user (see What's a USER_ID).

To get the full list of accepted commands and options, by either stalker OR console, use ./stalker run help