1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
mod request;
mod response;

pub use request::SearchRequest;
pub use response::{SearchResponse, SearchResult};

use reqwest::Client;

pub async fn search(request: SearchRequest) -> Result<SearchResponse, reqwest::Error> {
    let client = Client::new();
    let url = "https://api.tavily.com/search";

    let response = client
        .post(url)
        .json(&request)
        .send()
        .await?
        .json::<SearchResponse>()
        .await?;

    Ok(response)
}