Skip to main content

SauceNAO Logo

saucenao_api

Tests codecov License SauceNao Status PyPI - Python Version

“The rough edges are a part of its charm”

Unofficial wrapper for the SauceNAO JSON API

Installation

This package requires Python 3.6 or later.

pip install -U saucenao_api

Usage

from saucenao_api import SauceNao

# Replace the key with your own
sauce = SauceNao('077f16b38a2452401790540f41246c7d951330c0')
results = sauce.from_url('https://i.imgur.com/oZjCxGo.jpg')  # or from_file()

best = results[0]  # results sorted by similarity

The library attempts to provide a developer friendly container format for all results. Meaning, no matter if SauceNao returns a Pixiv source result or a more obscure source, you'll be able to easily pull the title, urls, author and other useful information:

from saucenao_api import SauceNao
results = SauceNao('077f16b38a2452401790540f41246c7d951330c0').from_url('https://i.imgur.com/oZjCxGo.jpg')

len(results)   # 6
bool(results)  # True

# Request limits
results.short_remaining  # 4  (per 30 seconds limit)
results.long_remaining   # 99 (per day limit)

results[0].thumbnail     # temporary URL for picture preview
results[0].similarity    # 93.3
results[0].title         # めぐみん
results[0].urls          # ['https://www.pixiv.net/member_illust.php?mode=medium&illust_id=77630170']
results[0].author        # frgs
results[0].raw           # raw result

Video search results and book search results provide additional attributes:

from saucenao_api import SauceNao, VideoSauce, BookSauce
result = SauceNao('077f16b38a2452401790540f41246c7d951330c0').from_url('https://i.imgur.com/k9xlw6f.jpg')[0]

if isinstance(result, VideoSauce):
    result.part      # 02
    result.year      # 2009-2009
    result.est_time  # 00:05:32 / 00:21:10

elif isinstance(result, BookSauce):
    result.part

You can use the dir function to see all the attributes.

Asyncio

import asyncio
from saucenao_api import AIOSauceNao

async def main():
    # async requesting is also supported via the AIOSauceNao class
    async with AIOSauceNao('077f16b38a2452401790540f41246c7d951330c0') as aio:
        results = await aio.from_url('https://i.imgur.com/k9xlw6f.jpg')

asyncio.run(main())

The async with functionality is pretty useful if you want to make multiple requests. Note that you can still search without the async with syntax by simply calling await AIOSauceNao(...).from_url(...).

Advanced usage

from saucenao_api import SauceNao
from saucenao_api.params import DB, Hide, BgColor

sauce = SauceNao(api_key=None,          # Optional[str] 
                 testmode=0,            # int
                 dbmask=None,           # Optional[int]
                 dbmaski=None,          # Optional[int]
                 db=DB.ALL,             # int
                 numres=6,              # int
                 frame=1,               # int
                 hide=Hide.NONE,        # int
                 bgcolor=BgColor.NONE,  # int
)

The parameters frame, hide and bgcolor are taken from the main page and from the testing page, so their performance is not guaranteed. For the rest see SauceNAO User Config page (registration required).

Exceptions

All exceptions inherit from SauceNaoApiError for easy catching and handling. See errors.py file for details.

Note: SauceNao doesn't have good documentation. Exceptions are created only based on observations of changes in the returned status codes. If you find a specific error that is not being processed, please report it.

License

This package is based on pysaucenao.

Metadata

Release files for saucenao-api 2.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for saucenao-api 2.4.0
File Size Uploaded Provenance Actions
saucenao_api-2.4.0.tar.gz 20.4 kB Without provenance Details for saucenao_api-2.4.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for saucenao-api 2.4.0
File Interpreter ABI Platform Actions
saucenao_api-2.4.0-py3-none-any.whl Python 3 none any Details for saucenao_api-2.4.0-py3-none-any.whl

Total release size: 40.4 kB

Release files / saucenao_api-2.4.0.tar.gz

Download URL saucenao_api-2.4.0.tar.gz
Size 20.4 kB
Tags Source
SHA-256 checksum
How to use checksums
387603a95166e88121e2e293ddb1c7c9f9c9757ead6731b5e077197841bf8985
BLAKE2b-256 checksum
How to use checksums
cf4c3967f981ea2595734e03ca29f4beb3beaf155d53cffd4799cc053dd8e3dd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.11

Release files / saucenao_api-2.4.0-py3-none-any.whl

Download URL saucenao_api-2.4.0-py3-none-any.whl
Size 20.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dd684e34a4746a04dd499cab323df21fd0aa93d8092aaaf8f249df79e4d5a731
BLAKE2b-256 checksum
How to use checksums
96eeb5ff3586d2d8787b491b930e378986262caaa5be2ac00491f6a4a36fee1c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.2 importlib_metadata/4.8.1 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.8.11

Security for saucenao-api 2.4.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page