rvk 0.7.0

Crate for accessing VK API


version downloads license

A crate for accessing VK API in Rust (synchronously).

Changelog is available here.



Add the dependency to your Cargo.toml file:

rvk = "0.7"

Also, add this line to your crate's main.rs or lib.rs:

extern crate rvk;

Now you can take a look at rvk's API documentation to learn more about the available functions.


To use this example, you will also need the serde_json crate to deserialize the API response:

serde_json = "1.0"
extern crate rvk;
extern crate serde_json;

use rvk::{methods::*, objects::user::User, APIClient, Params};
use serde_json::from_value;

fn main() {
    let api = APIClient::new("your_access_token".into()); // Create an API Client

    let mut params = Params::new(); // Create a HashMap to store parameters
    params.insert("user_ids".into(), "1".into());

    let res = users::get(&api, params);

    match res {
        Ok(v) => { // v is `serde_json::Value`
            let users: Vec<User> = from_value(v).unwrap();
            let user = &users[0];

                "User #{} is {} {}.",
                user.id, user.first_name, user.last_name
        Err(e) => println!("{}", e),



Due to the nature of the VK API documentation, it is not always clear if the value is always passed or not, and sometimes the data type is not defined.

If you spot any mistakes or bugs, please report them!