mariosimao / notion-sdk-php
A complete Notion SDK for PHP developers.
Fund package maintenance!
Requires
- php: >=8.1
- php-http/discovery: ^1.15
- php-http/multipart-stream-builder: ^1.4
- psr/http-client-implementation: ^1.0
- psr/http-factory-implementation: ^1.0
- psr/http-message-implementation: ^1.0
Requires (Dev)
- brianium/paratest: 7.3.2
- guzzlehttp/guzzle: ^7.5
- infection/infection: ^0.26.19 || ^0.27.0
- phpunit/phpunit: 10.5.63
- psalm/plugin-phpunit: ^0.18.4
- squizlabs/php_codesniffer: ^3.7
- vimeo/psalm: ^5.7
This package is auto-updated.
Last update: 2026-06-14 02:21:57 UTC
README
A complete Notion SDK for PHP developers.
📦 Installation
This project requires PHP 8.1 or higher. To install it with Composer run:
$ composer require mariosimao/notion-sdk-php
👩💻 Basic usage
Creating a page on Notion with the SDK is easy.
use Notion\Blocks\Heading1; use Notion\Blocks\ToDo; use Notion\Common\Emoji; use Notion\Notion; use Notion\Pages\Page; use Notion\Pages\PageParent; $notion = Notion::create("secret_token"); $parent = PageParent::page("c986d7b0-7051-4f18-b165-cc0b9503ffc2"); $page = Page::create($parent) ->changeTitle("Shopping list") ->changeIcon(Emoji::fromString("🛒")); $content = [ Heading1::fromString("Supermarket"), ToDo::fromString("Tomato"), ToDo::fromString("Sugar"), ToDo::fromString("Apple"), ToDo::fromString("Milk"), Heading1::fromString("Mall"), ToDo::fromString("Black T-shirt"), ]; $page = $notion->pages()->create($page, $content);
📄 Documentation
Further documentation can be found at https://mariosimao.github.io/notion-sdk-php.
The Notion PHP SDK supports the usage of static analysers. We strongly recommend the usage of either vimeo/psalm or phpstan/phpstan in combination with this library, to avoid simple mistakes.
🏷️ Versioning
SemVer is followed closely. Minor and patch releases should not introduce breaking changes to the codebase.
Any classes or methods marked as @internal are not intended for use outside of this library and are subject to breaking changes at any time, avoid using them.
🛠️ Maintenance & Support
When a new minor version (e.g. 1.3 -> 1.4) is released, the previous one (1.3) will continue to receive security and critical bug fixes for at least 3 months.
When a new major version is released (e.g. 1.6 -> 2.0), the previous one (1.6) will receive critical bug fixes for at least 3 months and security updates for 6 months after that new release comes out.
This policy may change in the future and exceptions may be made on a case-by-case basis.
❤️ Sponsors
An special thanks to all sponsors who activelly support the SDK!