{"id":17667460,"url":"https://github.com/46ki75/notionrs","last_synced_at":"2026-05-02T06:01:13.397Z","repository":{"id":253698003,"uuid":"778676287","full_name":"46ki75/notionrs","owner":"46ki75","description":"🦀 Rust Notion API client with full deserialization.","archived":false,"fork":false,"pushed_at":"2026-05-02T01:02:29.000Z","size":2731,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-05-02T03:09:48.856Z","etag":null,"topics":["notion","notion-api","rust","rust-lang"],"latest_commit_sha":null,"homepage":"https://crates.io/crates/notionrs","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/46ki75.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2024-03-28T07:16:47.000Z","updated_at":"2026-04-29T12:26:49.000Z","dependencies_parsed_at":"2024-10-25T06:39:27.682Z","dependency_job_id":"b28d3f75-06f3-4f1e-bb2d-b6f4fc932d64","html_url":"https://github.com/46ki75/notionrs","commit_stats":{"total_commits":489,"total_committers":2,"mean_commits":244.5,"dds":0.03885480572597133,"last_synced_commit":"dabf89c5533e62fa4c82fd119bcc7b541880d195"},"previous_names":["46ki75/notionrs"],"tags_count":96,"template":false,"template_full_name":null,"purl":"pkg:github/46ki75/notionrs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/46ki75%2Fnotionrs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/46ki75%2Fnotionrs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/46ki75%2Fnotionrs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/46ki75%2Fnotionrs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/46ki75","download_url":"https://codeload.github.com/46ki75/notionrs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/46ki75%2Fnotionrs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32524565,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["notion","notion-api","rust","rust-lang"],"created_at":"2024-10-23T22:07:03.341Z","updated_at":"2026-05-02T06:01:13.337Z","avatar_url":"https://github.com/46ki75.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Notion API Client for Rust\n\n[msrv]: https://img.shields.io/crates/msrv/notionrs\n\n[![msrv]](https://blog.rust-lang.org/2025/02/20/Rust-1.85.0/)\n[![Unit Test](https://github.com/46ki75/notionrs/actions/workflows/test.yml/badge.svg)](https://github.com/46ki75/notionrs/actions/workflows/test.yml)\n[![Crates.io](https://img.shields.io/crates/v/notionrs?logo=rust)](https://crates.io/crates/notionrs/)\n\n![ogp](./assets/ogp.webp)\n\n`notionrs` now supports `Notion-Version: 2026-03-11`.\n\nThis project is currently under active development and is not yet ready for production use. Features and API stability may change without notice. Contributions and feedback are welcome!\n\n- [♻ Release Notes](https://github.com/46ki75/notionrs/releases)\n- [🛠️ API Reference (docs.rs)](https://docs.rs/notionrs/latest/notionrs/)\n\n## Features currently released\n\nAs part of the alpha release, the following features are available. Please note that API changes may occur before the official release.\n\n- Blocks\n  - [Append block children](https://developers.notion.com/reference/patch-block-children)\n  - [Retrieve a block](https://developers.notion.com/reference/retrieve-a-block)\n  - [Retrieve block children](https://developers.notion.com/reference/get-block-children)\n  - [Update a block](https://developers.notion.com/reference/update-a-block)\n  - [Delete a block](https://developers.notion.com/reference/delete-a-block)\n- Databases\n  - [Create a database](https://developers.notion.com/reference/create-a-database)\n  - [Update a database](https://developers.notion.com/reference/update-a-database)\n  - [Retrieve a database](https://developers.notion.com/reference/retrieve-a-database)\n- Data sources\n  - [Create a data source](https://developers.notion.com/reference/create-a-data-source)\n  - [Update a data source](https://developers.notion.com/reference/update-a-data-source)\n  - [Retrieve a data source](https://developers.notion.com/reference/retrieve-a-data-source)\n  - [Query a data source](https://developers.notion.com/reference/query-a-data-source)\n  - [List data source templates](https://developers.notion.com/reference/list-data-source-templates)\n- Pages\n  - [Create a page](https://developers.notion.com/reference/post-page)\n  - [Retrieve a page](https://developers.notion.com/reference/retrieve-a-page)\n  - [Retrieve a page property item](https://developers.notion.com/reference/retrieve-a-page-property)\n  - [Update page properties](https://developers.notion.com/reference/patch-page)\n  - [Move a page](https://developers.notion.com/reference/move-page)\n  - [Retrieve page as Markdown](https://developers.notion.com/reference/retrieve-page-markdown)\n  - [Update page via Markdown](https://developers.notion.com/reference/update-page-markdown)\n- Views\n  - [Create a view](https://developers.notion.com/reference/create-view)\n  - [Retrieve a view](https://developers.notion.com/reference/retrieve-a-view)\n  - [Update a view](https://developers.notion.com/reference/update-a-view)\n  - [Delete a view](https://developers.notion.com/reference/delete-view)\n  - [List views](https://developers.notion.com/reference/list-views)\n  - [Create a view query](https://developers.notion.com/reference/create-view-query)\n  - [Get view query results](https://developers.notion.com/reference/get-view-query-results)\n  - [Delete a view query](https://developers.notion.com/reference/delete-view-query)\n- File Uploads\n  - [Create a file upload](https://developers.notion.com/reference/create-file)\n  - [Send a file upload](https://developers.notion.com/reference/upload-file)\n  - [Complete a file upload](https://developers.notion.com/reference/complete-file-upload)\n  - [Retrieve a file upload](https://developers.notion.com/reference/retrieve-file-upload)\n  - [List file uploads](https://developers.notion.com/reference/list-file-uploads)\n- Users\n  - [List all users](https://developers.notion.com/reference/get-users)\n  - [Retrieve a user](https://developers.notion.com/reference/get-user)\n  - [Retrieve your token's bot user](https://developers.notion.com/reference/get-self)\n  - [List custom emojis](https://developers.notion.com/reference/list-custom-emojis)\n- Comments\n  - [Create comment](https://developers.notion.com/reference/create-a-comment)\n  - [Retrieve comments](https://developers.notion.com/reference/list-comments)\n- Search\n  - [Search by title](https://developers.notion.com/reference/post-search)\n  - [Search databases](https://developers.notion.com/reference/post-search)\n  - [Search pages](https://developers.notion.com/reference/post-search)\n\n## Basic Usage\n\nBelow is a basic example.\n\n`Cargo.toml`:\n\n```toml\nnotionrs = { version = \"0\" }\nnotionrs_types = { version = \"0\" }\ntokio = { version = \"1\", features = [\"full\"] }\nserde = { version = \"1\", features = [\"derive\"] }\n```\n\n`src/main.rs`:\n\n```rs\nuse notionrs::Client;\nuse notionrs_types::prelude::*;\nuse serde::{Deserialize, Serialize};\n\n#[tokio::main]\nasync fn main() -\u003e Result\u003c(), Box\u003cdyn std::error::Error\u003e\u003e {\n    let notion_api_key = std::env::var(\"NOTION_API_KEY\").unwrap();\n    let client = Client::new(notion_api_key);\n\n    let filter = Filter::timestamp_past_month();\n\n    let sort = Sort::desc(\"Created Time\");\n\n    let request = client\n        .query_data_source()\n        .data_source_id(\"DATA_SOURCE_ID\")\n        .filter(filter)\n        .sorts(vec![sort]);\n\n    #[derive(Debug, Clone, Serialize, Deserialize)]\n    struct MyProperties {\n        #[serde(rename = \"My Title\")]\n        pub title: PageTitleProperty,\n    }\n\n    let response = request.send::\u003cMyProperties\u003e().await?;\n\n    for page in response.results {\n        println!(\"{}\", page.properties.title.to_string());\n    }\n\n    Ok(())\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F46ki75%2Fnotionrs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F46ki75%2Fnotionrs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F46ki75%2Fnotionrs/lists"}