sauce-api

documentation crates.io

A simple-to-use async API for finding the source of an image.

Best used with Tokio, but async-std should work too.

Supported Sources

If you wish to see more, please submit PRs or a request in an issue!

Usage

IQDB

```rust use sauce_api::prelude::*;

async fn findsource(url: String) { let source = IQDB; let res: Result = source.checksauce(url).await; // Can take some time as IQDB is a bit slow.

match res {
    Ok(result) => {
        println!("Found results! {:?}", result);
    }
    Err(e) => {
        eprintln!("Unable to find results: {}", e);
    }
}

} ```

SauceNao

```rust use sauce_api::prelude::*;

async fn findsource(url: String) { let mut source = SauceNao::new(); source.setapikey("anapikey".tostring()); let res: Result = source.check_sauce(url).await;

match res {
    Ok(result) => {
        println!("Found results! {:?}", result);
    }
    Err(e) => {
        eprintln!("Unable to find results: {}", e);
    }
}

} ```

Yandex

```rust use sauce_api::prelude::*;

async fn findsource(url: String) { let mut source = Yandex; let res: Result = source.checksauce(url).await;

match res {
    Ok(result) => {
        println!("Found results! {:?}", result);
    }
    Err(e) => {
        println!("Unable to find results: {}", e);
    }
}

} ```

Requirements

sauce-api by default uses the native TLS framework, see this for specific details. You may opt-in to using rustls if you would like to by enabling the rustls feature like this:

toml sauce-api = { version = "0.6.0", features = ["rustls"] }