Notion API Rate Limits

Polling vs Webhooks? Skip Both.

Notion caps API access at 3 requests per second. Polling eats that budget fast. Webhooks sound better until you realize payloads are sparse and you still need API calls to fetch the actual data. Fazm takes a different path: it automates the Notion app directly through macOS accessibility APIs. No tokens, no rate limits, no webhook plumbing.

M
Matthew Diakonov
7 min read
4.9from 500+ Mac users
Free & open source
Works offline
No API keys

The Notion API rate limit problem is worse than it looks

Notion's REST API has a hard limit of 3 requests per second, averaged per integration. That sounds manageable until you see how the block-based data model multiplies calls.

3 req/s sounds fine until you hit nested pages

Notion stores content as blocks. A single page with toggles, databases, and sub-pages can require 100+ recursive API calls to fully read. At 3 req/s, that is over 30 seconds for one page.

Polling drains your quota on unchanged data

Polling means hitting the API on a schedule whether anything changed or not. With a 3 req/s limit, frequent polling for multiple databases leaves almost no headroom for actual work.

Webhooks do not solve the rate limit

Notion webhooks (added in API version 2025-09-03) send sparse payloads containing just event IDs. You still need to call the API to fetch the actual content, which counts against the same 3 req/s limit.

429 errors cascade through your pipeline

When you hit the rate limit, Notion returns HTTP 429 and expects exponential backoff. In a pipeline that chains multiple API calls, one 429 stalls everything downstream.

Webhooks lack delivery guarantees

Notion webhooks offer at-most-once delivery with no dead letter queue and no delivery logs. If your endpoint is down, events are lost. You end up polling as a fallback anyway.

Every integration multiplies the problem

The 3 req/s limit is per integration token. But if you run multiple automations (sync, notifications, reporting), each one competes for the same budget unless you manage separate tokens and coordinate between them.

What Fazm does differently

Fazm does not use the Notion API at all. It automates the Notion desktop app through macOS accessibility APIs and browser automation. This means the rate limit question simply does not apply.

Zero API calls to Notion

Fazm reads and interacts with Notion through the macOS accessibility tree and Playwright browser control. There are no REST API calls, so there is no rate limit to hit.

Works with the full Notion UI

The Notion API only exposes a subset of Notion's features. Fazm sees whatever the Notion app shows you: views, filters, formulas, relation rollups, linked databases, everything.

No webhook infrastructure needed

No public endpoints, no HMAC verification, no retry handling, no dead letter queues. Tell Fazm what you want and it interacts with Notion like a human would.

Voice-driven automation

Push-to-talk lets you say things like "move all overdue tasks in my sprint board to next week" and Fazm executes it directly in the Notion app.

Scheduled tasks without polling code

Fazm has built-in scheduling. Set a recurring task like "every morning, summarize my inbox database" without writing cron jobs or polling loops.

Works with any app, not just Notion

The same automation engine works across every app on your Mac. Move data between Notion and Sheets, Slack, email, or any other application in a single workflow.

Notion API (polling/webhooks) vs Fazm

A direct comparison for teams evaluating how to automate Notion workflows.

FeatureNotion APIFazm
Rate limit3 req/s per integrationNone (no API calls)
Nested page retrieval100+ recursive callsReads the rendered page directly
Change detectionPolling or webhooksVisual perception of the app UI
Webhook payloadSparse (event ID only)N/A (reads full content from UI)
Setup requiredOAuth, tokens, endpoint hostingDownload and install the app
Feature coveragePartial (API subset)Full (anything visible in the app)
Cross-app workflowsRequires middleware (Zapier, Make)Built-in (any macOS app)
Delivery guaranteeAt-most-once (webhooks)Deterministic (runs on your Mac)
CostFree API + hosting costsFree and open source
PlatformAny (REST API)macOS only

Fazm requires macOS and the Notion desktop or web app. The Notion API works from any platform and is better suited for server-side integrations that do not need a GUI.

There are things I literally couldn't get myself to do (hello, procrastination), and now I just get them done through Fazm. Vacation paperwork, ordering prescriptions from a screenshot, IKEA furniture with discounts applied, all perfect. I even built custom skills for Apple Reminders, my Synology NAS, and Plex. They just work.
D
Dmytro S.
Software Engineer

Why the polling vs webhook debate misses the point

If you are reading this, you have probably spent time weighing the tradeoffs between polling and webhooks for Notion. Polling is simple but wasteful. Webhooks are efficient but come with sparse payloads, no delivery logs, and no dead letter queue. Both approaches share the same bottleneck: 3 requests per second.

The real question is whether you need the REST API at all. If your automation involves reading Notion pages, updating tasks, moving items between databases, or pulling data into other tools, you are doing things that a person could do in the Notion app in seconds. The API adds a translation layer, with its own limits and its own gaps, between what you want to do and how Notion actually works.

Fazm removes that layer. It uses the macOS Accessibility API and DOM-level browser automation to interact with Notion the same way you do: by reading the screen, clicking buttons, typing text, and navigating between views. The 3 req/s rate limit does not apply because there are no API requests being made.

This approach also gives you access to Notion features the API does not expose. Views, filters, sort orders, relation rollups, and linked database configurations are all visible in the UI but absent or limited in the REST API. Fazm sees what you see.

For teams that need server-side batch processing or headless integrations, the API is still the right tool. But for interactive workflows, scheduled tasks, and cross-app automation on a Mac, Fazm is a better fit. Read more about how computer-use AI works to understand the technology behind this approach.

Frequently asked questions

Does Fazm actually bypass Notion's 3 req/s rate limit?

Fazm does not bypass the rate limit. It avoids it entirely. Fazm automates the Notion desktop or web app through macOS accessibility APIs and browser automation. It never calls the Notion REST API, so the 3 requests-per-second limit does not apply.

How does Fazm detect changes in Notion without polling or webhooks?

Fazm uses a visual perception loop. When you ask it to do something, it captures the current screen state through the macOS accessibility tree and screenshots, analyzes what is displayed, and takes action. For recurring tasks, it uses built-in scheduling to check the Notion app on your chosen interval. This is fundamentally different from API polling because it reads the rendered UI directly rather than making REST calls.

Can Fazm access Notion features the API does not expose?

Yes. The Notion API only covers a subset of Notion's functionality. Features like specific view configurations, advanced filter UIs, relation rollups, and linked database displays are visible in the Notion app but not available through the REST API. Since Fazm reads the actual app interface, it can interact with anything you can see on screen.

What are the tradeoffs of using Fazm instead of the Notion API?

Fazm requires macOS and needs the Notion app (desktop or web) to be accessible. It cannot run on a headless server, so it is not suited for backend batch processing or server-side integrations. It also depends on Notion's UI remaining consistent, while the API has a versioned contract. For interactive workflows and cross-app automation on a Mac, Fazm is stronger. For headless server pipelines, the API is better.

Is Fazm free? Are there per-action costs?

Fazm is completely free and open source under the MIT license. There are no per-action charges, no API fees, and no subscription. The Notion API itself is free, but hosting webhook endpoints and running polling infrastructure has its own costs.

Can I use Fazm for cross-app workflows involving Notion?

Yes. Fazm works with any application on your Mac, not just Notion. You can build workflows that move data between Notion and Google Sheets, copy information from Notion into an email, or sync Notion tasks with other project management tools. All of this happens through UI automation without requiring separate API integrations for each app.

Does Notion's webhook sparse payload problem affect Fazm?

No. Notion webhooks send minimal payloads containing just event identifiers. You must then call the API to fetch actual content, which counts against the rate limit. Fazm reads content directly from the Notion UI, so there is no sparse payload issue and no secondary API calls needed.

Stop fighting the 3 req/s limit

Download Fazm and automate Notion through the app itself. No API tokens, no webhook endpoints, no rate limits. Free and open source.