# Wayback Machine Client
This Rust crate provides a client for interacting with the Wayback Machine, allowing users to archive URLs.
[](https://github.com/thoth-pub/archive-pdf-urls/actions)
[](https://crates.io/crates/waybackmachine-client)
## Installation
```bash
cargo add waybackmachine-client
```
## Usage
The WaybackMachineClient struct provides methods for archiving URLs using the Wayback Machine service. You can use the archive\_url method to archive a URL asynchronously.
Example:
```rust
use waybackmachine_client::{ClientConfig, Error, WaybackMachineClient};
#[tokio::main]
async fn main() -> Result<(), Error> {
let wayback_client = WaybackMachineClient::new(ClientConfig::default());
wayback_client.archive_url("https://www.example.com").await?;
Ok(())
}
```
## Features
- Automatic Retry: The client automatically retries failed requests with exponential backoff, configurable via the `ClientConfig.max_request_retries` setting.
- Recent Archive Check: The client checks if a URL has been archived within a specified threshold using the `ClientConfig.archive_threshold_days` setting.
- Customisable Configuration: You can customise the client's behavior using the `ClientConfig` struct.
- Asynchronous: Requests are sent asynchronously using the Tokio runtime