DEV Community

Alex Spinov
Alex Spinov

Posted on

Notion Has a Free API — Build Integrations That Read, Write, and Automate Your Workspace

Notion Has a Free API — Build Integrations That Read, Write, and Automate Your Workspace

Notion is where teams organize everything — docs, wikis, databases, project boards. Its API turns all of that into programmable data. Query databases, create pages, update properties — all via REST.

Free Tier (Free Plan)

  • Unlimited pages and blocks for individuals
  • Up to 10 guests for sharing
  • 7-day page history
  • API access included on all plans
  • Integrations with 70+ tools

REST API: Query a Database

const { Client } = require('@notionhq/client');
const notion = new Client({ auth: 'your-integration-token' });

// Query a database with filters
const response = await notion.databases.query({
  database_id: 'your-database-id',
  filter: {
    and: [
      { property: 'Status', status: { equals: 'In Progress' } },
      { property: 'Priority', select: { equals: 'High' } }
    ]
  },
  sorts: [{ property: 'Due Date', direction: 'ascending' }]
});

response.results.forEach(page => {
  const title = page.properties.Name.title[0]?.plain_text;
  const status = page.properties.Status.status?.name;
  console.log(\`\${title} — \${status}\`);
});
Enter fullscreen mode Exit fullscreen mode

Create Pages

// Create a page in a database
await notion.pages.create({
  parent: { database_id: 'your-db-id' },
  properties: {
    Name: { title: [{ text: { content: 'New Task' } }] },
    Status: { status: { name: 'Not Started' } },
    Priority: { select: { name: 'High' } },
    'Due Date': { date: { start: '2026-04-01' } },
    Assignee: { people: [{ id: 'user-id' }] }
  },
  children: [
    {
      object: 'block',
      type: 'heading_2',
      heading_2: { rich_text: [{ text: { content: 'Task Details' } }] }
    },
    {
      object: 'block',
      type: 'paragraph',
      paragraph: { rich_text: [{ text: { content: 'Description here...' } }] }
    }
  ]
});
Enter fullscreen mode Exit fullscreen mode

Use Cases

  • CRM — sync contacts from your app to a Notion database
  • Content calendar — auto-create pages for scheduled articles
  • Bug tracker — pipe error alerts into a Notion board
  • Meeting notes — auto-generate note templates with attendees
  • Knowledge base — sync documentation from code to Notion

The Bottom Line

Notion's API turns your workspace into a platform. Any data that lives in Notion can be read, written, and automated programmatically.


Need to extract data from Notion pages, sync external sources, or build automated content workflows? I create custom solutions.

📧 Email me: spinov001@gmail.com
🔧 My tools: Apify Store

Top comments (0)