What is PyLookyloo?

PyLookyloo is the client API for Lookyloo.


To install the command-line interface for Lookyloo you can run the following command:

pip install pylookyloo

Or clone the repository, and run poetry install.


Command line interface

You can use the lookyloo command to enqueue a URL.

usage: lookyloo [-h] [--url URL] --query QUERY

Enqueue a URL on Lookyloo.

optional arguments:
  -h, --help     show this help message and exit
  --url URL      URL of the instance (defaults to https://lookyloo.circl.lu/,
                 the public instance).
  --query QUERY  URL to enqueue.
  --listing      Should the report be publicly listed.
  --redirects    Get redirects for a given capture.

The response is the permanent URL where you can see the result of the capture.


Pylookyloo is also a library (API reference), see examples below.

from pylookyloo import Lookyloo

lookyloo = Lookyloo('https://url.of.lookyloo.instance')
if lookyloo.is_up:  # to make sure it is up and reachable
	permaurl = lookyloo.enqueue('http://url.to.lookup')

You can add the following parameters to the enqueue function:

    quiet      Return only the uuid
    listing    Should the report be publicly listed.
    user_agent Set your own user agent
    Depth      Set the analysis depth. Can not be more than in config


To retrieve the redirects (json)

    redirect = lookyloo.get_redirects(uuid)


To retrieve the cookies (json)

    cookies = lookyloo.get_cookies(uuid)


To retrieve the screenshot (raw)

    screen = lookyloo.get_screenshot(uuid)


To retrieve the HTML (raw)

    html = lookyloo.get_html(uuid)

Complete Capture

To retrieve the complete capture (raw)

    capture = lookyloo.get_complete_capture(uuid)

Get statistics about the instance

To retrieve the statistics (json)

    stats = lookyloo.get_stats()