rtrend

Crates.iortrend
lib.rsrtrend
version0.1.7
sourcesrc
created_at2021-07-19 10:15:34.523844
updated_at2023-06-20 12:51:26.764819
descriptionUnofficial API for interacting with Google Trend
homepagehttps://github.com/shadawck/rust-trend
repositoryhttps://github.com/shadawck/rust-trend
max_upload_size
id424677
size363,776
Shadawck (shadawck)

documentation

README

rust-trend

rust-trend

Overview

Unofficial Rust API for interacting with Google Trend

Documentation

Example

First, add the dependency to your project:

cargo add rtrend

Then build a client and send the reqwest you want :

use rtrend::{Keywords, Country, Client, RegionInterest};

let country = Country::US;
let keywords = Keywords::new(vec!["Instagram","Facebook"]);
let client = Client::new(keywords, country).build();

// Then select the data you want. The interest of your keywords filtered by region for example:
let region_interest = RegionInterest::new(client).get();
println!("{}", region_interest);

// Result :
//{
//  "default": {
//    "geoMapData": [
//      {
//        "formattedValue": [
//          "100"
//        ],
//        "geoCode": "US-CA",
//        "geoName": "California",
//        "hasData": [
//          true
//        ],
//        "maxValueIndex": 0,
//        "value": [
//          100
//        ]
//      },
//
//      ...
//      
//      {
//        "formattedValue": [
//          "46"
//        ],
//        "geoCode": "US-SD",
//        "geoName": "South Dakota",
//        "hasData": [
//          true
//        ],
//        "maxValueIndex": 0,
//        "value": [
//          46
//        ]
//      }
//    ]
//  }
//}

More example

Roadmap

  • Write documentation & Doc Test [x] Release on crates.io
  • Add examples
  • Add "TOP" and "RISING" filter
  • Add REGION and CITY filter
  • Add METRO filter for country like USA or France
  • Write more tests
  • Make async feature (currently using Reqwest::blocking)

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Commit count: 78

cargo fmt