urlscan

Crates.iourlscan
lib.rsurlscan
version0.3.0
sourcesrc
created_at2022-11-02 20:36:52.012466
updated_at2024-04-20 21:45:25.22976
descriptionURLScan.io API
homepage
repositoryhttps://github.com/Ix76y/urlscan-rs
max_upload_size
id703736
size23,538
(Ix76y)

documentation

README

urlscan-rs

Build Status Crates.io GitHub license Release

Rust wrapper for URLScan.io API

Provides an abstraction over the URLScan.io API. This library supports the following tasks:

  • Get Quota

  • Submit URL to be scanned

  • Get JSON Result of scan as String

  • Get DOM of previously scanner URL by UUID

  • Get Screenshot of page

  • Search functionality

Examples

Get your current quota with limits:

let client = UrlScanClient::new("YOUR-API-KEY-HERE");
let response = client.get_quota();
match response {
    Ok(quota) => println!("{}", quota),
    _ => println!("We got an error..."),
}

Submitting a URL to be scanned:

let client = UrlScanClient::new(API_KEY);
let response = client.scan_url("www.url-you-want-to-check.rust", "public", vec![]);
match response {
    Ok(submission) => println!("{}", submission),
    _ => println!("We got an error..."),
}

Example Output:

Submission successful. 
UUID: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
View Result: https://urlscan.io/result/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/

Getting the DOM:

let client = UrlScanClient::new(API_KEY);
// submit a URL to get a "submission" back or directly add the UUID:
let uuid = submission.uuid;

let response = client.get_dom(uuid);
match response {
    Ok(dom) => println!("{}", dom),
    _ => println!("There was an error, maybe scan is still running."),
}

FAQs

  • How do I get a URLScan.io API Key? Create an URLScan.io account and then go to Settings & API to get your API key.

  • Is the URLScan.io API key free? Yes, URLScan.io has free API keys that are limited by time. If you reach the limit you can pay for unlimited requests.

License: MIT

Commit count: 44

cargo fmt