This engine implements Tineye - reverse image search

Using TinEye, you can search by image or perform what we call a reverse image search. You can do that by uploading an image or searching by URL. You can also simply drag and drop your images to start your search. TinEye constantly crawls the web and adds images to its index. Today, the TinEye index is over 50.2 billion images [tineye.com].


This SearXNG engine only supports ‘searching by URL’ and it does not use the official API [api.tineye.com].


Takes parsed JSON from the API server and turns it into a dict object.

Attributes (class Match)

  • image_url, link to the result image.

  • domain, domain this result was found on.

  • score, a number (0 to 100) that indicates how closely the images match.

  • width, image width in pixels.

  • height, image height in pixels.

  • size, image area in pixels.

  • format, image format.

  • filesize, image size in bytes.

  • overlay, overlay URL.

  • tags, whether this match belongs to a collection or stock domain.

  • backlinks, a list of Backlink objects pointing to the original websites and image URLs. List items are instances of dict, (Backlink):

    • url, the image URL to the image.

    • backlink, the original website URL.

    • crawl_date, the date the image was crawled.

searx.engines.tineye.request(query, params)[source]

Build TinEye HTTP request using search_urls of a engine_type.


Parse HTTP response from TinEye.

searx.engines.tineye.DOWNLOAD_ERROR = 'The image could not be downloaded.'

TinEye error message

searx.engines.tineye.FORMAT_NOT_SUPPORTED = 'Could not read that image url. This may be due to an unsupported file format. TinEye only supports images that are JPEG, PNG, GIF, BMP, TIFF or WebP.'

TinEye error message

searx.engines.tineye.NO_SIGNATURE_ERROR = 'The image is too simple to find matches. TinEye requires a basic level of visual detail to successfully identify matches.'

TinEye error message

searx.engines.tineye.engine_type = 'online_url_search'