Get unlimited response of Notion API
This is an extension of the @notionhq/client
to obtain total results for the Paginated endpoints of the Notion API.
The goal is to obtain a total results using the same interface as the Notion API.
$ npm install @narkdown/client
const {NarkdownClient} = require('@narkdown/client');
// Initializing a client
const narkdown = new NarkdownClient({
auth: process.env.NOTION_TOKEN,
});
It extends @notionhq/client
See the complete list of endpoints in the Notion API reference
Unlimited version of Retrieve block children
const {NarkdownClient} = require('@narkdown/client');
const narkdown = new NarkdownClient({auth: process.env.NOTION_API_KEY});
(async () => {
const blockId = 'b55c9c91-384d-452b-81db-d1ef79372b75';
const response = await narkdown.unlimited.blocks.children.list({
block_id: blockId,
});
console.log(response);
})();
Unlimited version of Query a database
const {NarkdownClient} = require('@narkdown/client');
const narkdown = new NarkdownClient({auth: process.env.NOTION_API_KEY});
(async () => {
const databaseId = '897e5a76-ae52-4b48-9fdf-e71f5945d1af';
const response = await narkdown.unlimited.databases.query({
database_id: databaseId,
filter: {
or: [
{
property: 'In stock',
checkbox: {
equals: true,
},
},
{
property: 'Cost of next trip',
number: {
greater_than_or_equal_to: 2,
},
},
],
},
sorts: [
{
property: 'Last ordered',
direction: 'ascending',
},
],
});
console.log(response);
})();
Unlimited version of List databases (deprecated)
const {NarkdownClient} = require('@narkdown/client');
const narkdown = new NarkdownClient({auth: process.env.NOTION_API_KEY});
(async () => {
const response = await narkdown.unlimited.databases.list();
console.log(response);
})();
Unlimited version of List all users
const {NarkdownClient} = require('@narkdown/client');
const narkdown = new NarkdownClient({auth: process.env.NOTION_API_KEY});
(async () => {
const response = await narkdown.unlimited.users.list();
console.log(response);
})();
Unlimited version of Search
const {NarkdownClient} = require('@narkdown/client');
const narkdown = new NarkdownClient({auth: process.env.NOTION_API_KEY});
(async () => {
const response = await narkdown.unlimited.search({
query: 'External tasks',
sort: {
direction: 'ascending',
timestamp: 'last_edited_time',
},
});
console.log(response);
})();