Notion vs Obsidian
On Notion Free, page history stops at 7 days; Business keeps 90, and an Obsidian vault under git has no plan-imposed cutoff at all. For ten people that is 10 × $20 × 12 = $2,400/year of Notion Business against 10 × $4 × 12 = $480/year of Sync, and the difference buys a permission model you either need or do not.
Choose Notion Business if you need granular database permissions or private teamspaces: for 10 people, 10 × $20 × 12 = $2,400/year, including Notion Agent but not Custom Agent credits. Choose Obsidian for local Markdown notes if you can forgo permissions and built-in multi-user editing: the app costs $0, while Sync for 10 people costs 10 × $4 × 12 = $480/year billed annually. Plain files under git avoid a plan-imposed history cutoff.
- Notion sells a server with a meter; Obsidian sells a folder with a pipe
- Friday recovery: does the version you need still exist?
- Bases adds views, not permissions: who should not pick Obsidian
- Notion's agent is real, and so is its meter
- For ten people, $2,400 a year buys permissions or it buys nothing
- Choose by permissions, then test recovery
- Cost arithmetic
- Decision matrix
- Migration path
- FAQ
At a glance
| Dimension | Notion Team workspace | Obsidian Local-first |
|---|---|---|
| Product foundation | Relational databases, formulas, rollups (server-side) | Local Markdown + frontmatter; Bases views as a core plugin |
| Pricing model | Free · Plus $10 · Business $20 per member | Free · Sync $4/user · Publish $8/site |
| Hosting and deployment | No (Notion cloud) | Yes — it is your disk |
| Runtime and integration | Multiplayer editing and live cursors | No built-in co-editing; shared vaults via Sync |
| AI-related capabilities | Notion Agent in Business; Custom Agents metered | No server-side agent; bring your own script or plugin |
| Lock-in risk | Medium-high: export is a conversion, history is a plan tier | None: plain files, git history you own |
| Vendor | Notion → | Obsidian → |
1. Notion sells a server with a meter; Obsidian sells a folder with a pipe
Obsidian sells a folder. Plain Markdown on your disk, no server, no meter, and the app itself is free without limits. Notion sells shared state. Permissions, databases and agents live on their servers, and everything around them carries a budget: page history, uploads, API calls, agent credits.
Obsidian: notes are files on your disk, and Obsidian states the app is free without limits, with no telemetry.
- Notion makes history a plan feature. Notion page history is 7 days on Free, 30 on Plus and 90 on Business.
- Obsidian has no permission model, no server-side agent and no built-in multi-user editing; collaboration requires Sync shared vaults or third-party tooling.
2. Friday recovery: does the version you need still exist?
On Friday afternoon, test recovery before choosing a plan: does the version from before the mistaken edit still exist?
| Plan | Price | Page history |
|---|---|---|
| Free | $0/member | 7 days |
| Plus | $10/member/month | 30 days |
| Business | $20/member/month | 90 days |
The pattern this punishes is the slow mistake. Choose a window that covers how long a mistake could go unnoticed.
The rest of Free's ceiling sits in the same place:
- File uploads capped at 5 MB (Plus raises it to 5 GB).
- 10 external guests.
- A Free-plan workspace block limit that Notion announced for 2026-09-08.
Obsidian has no window to buy. A vault is plain files, so git log keeps every committed version for as long as you keep the repo.
3. Bases adds views, not permissions: who should not pick Obsidian
Bases is a core plugin, not a community add-on. It renders database views over frontmatter properties, and the data stays in your Markdown files.
- Table and Cards: 1.9
- List and Map: 1.10 (Map needs the Maps plugin)
- Kanban: 1.14
The .base file is YAML and holds only the view definition:
filters:
and:
- file.inFolder("Projects")
- file.hasTag("active")
formulas:
ratio: '(price / age).toFixed(2)'
views:
- type: table
order:
- file.name
- formula.ratio
Obsidian's own docs: "Delete a base and your notes are untouched." What Bases still does not give you:
- Permissions. Obsidian has no permission model.
- Server-side computed properties. Bases does not replace them.
- Multi-user edit. Shared vaults sync files; there is no built-in co-editing.
Do not pick Obsidian if you need granular database permissions or built-in multi-user editing.
4. Notion's agent is real, and so is its meter
Notion's built-in agent lives on Business at $20/member/month, next to AI Meeting Notes. Free and Plus get an AI trial only.
| Notion piece | Billing, per Notion |
|---|---|
| Notion Agent | Included in Business |
| Custom Agents | "Free to try, then $10 per 1,000 monthly Notion credits" |
| Workers | Beta: custom code for agent tools and sync |
Custom Agents are separately metered; do not infer a Business prerequisite. Obsidian has no server-side agent.
Notion API budgets:
- 180 requests per 60-second window per connection, or 600/minute on Business/Enterprise; bursts allowed.
- A per-workspace budget shared by every connection; its
Retry-Aftercan exceed a minute. It scales by plan. - Data-source queries capped near 3 requests/second per connection.
Obey Retry-After on HTTP 429 or 529 (service_overload); the JS SDK retries for you.
5. For ten people, $2,400 a year buys permissions or it buys nothing
Run the 10-person team through both price sheets:
- For 10 people needing Business permissions and Notion Agent, 10 × $20 × 12 = $2,400/year.
- For 10 people needing Plus's 30-day history, 10 × $10 × 12 = $1,200/year.
- For 10 people wanting Obsidian Sync, 10 × $4 × 12 = $480/year, billed annually.
- For 10 people choosing Sync plus optional commercial licences, (10 × $4 × 12) + (10 × $50) = $980/year.
Business includes:
- SAML SSO, granular database permissions, private teamspaces.
- 90-day page history and the Notion Agent.
Do not pay for Business solely to store private drafts if you do not need its agent, AI Meeting Notes, SSO, permissions or 90-day page history.
For 10 people, the app bill is $0 with git or iCloud instead of Sync and no optional licences; choosing licences adds 10 × $50 = $500/year.
6. Choose by permissions, then test recovery
Choose Notion Business when granular database permissions or private teamspaces are required; choose Obsidian for local Markdown notes only if you can forgo a permission model and built-in multi-user editing.
Check these today:
- Open page history on your most important Notion page. Can you recover the version from before a mistaken edit within your plan's 7-, 30- or 90-day window?
- Identify the Business permissions, private teamspaces, agent or recovery window you need.
- List every integration calling the Notion API. Check connection, workspace and data-source query budgets before upgrading.
- On Obsidian at work, explicitly accept or decline the optional commercial licence.
Cost arithmetic at volume
These are computed from the published unit prices, not measured. Each row prints its own formula, so you can replace our assumption with your traffic and redo it.
Decision matrix
Rows are the situation you are actually in. Pick the row before you read the pricing page again.
| If this is you | Take | Because |
|---|---|---|
| Team wiki where some pages must be hidden from some members | Notion Business | Granular database permissions and private teamspaces are Business features, and Obsidian has no permission model at all. |
| Solo engineer keeping private design notes and journals | Obsidian | The app is free without limits and plain files under git give history no plan can expire. |
| Team that wants an agent doing repetitive tasks without anyone's laptop running | Notion Custom Agents; Business only if its included Notion Agent is needed | Choose Business if you need its included Notion Agent; price autonomous repetitive tasks separately with Custom Agents: "Free to try, then $10 per 1,000 monthly Notion credits". Do not infer a Business prerequisite for Custom Agents. |
| Pipeline constrained by Notion API connection throughput | Notion Business only if its higher connection budget meets the requirement | Business/Enterprise allow 600 requests/minute per connection, versus 180 per 60-second window on other plans; bursts are allowed. A separate plan-scaled workspace budget and roughly 3 data-source queries/second per connection still constrain the pipeline. Obey Retry-After on HTTP 429 or 529; the JS SDK retries for you. |
| Team choosing a recovery window for policies and runbooks | Plus for 30 days, Business for 90, or Obsidian with git for no plan-imposed cutoff | Choose Plus only if 30 days of recovery is enough, Business if you need 90 days, or plain files under git if you need history without a plan-imposed cutoff. |
| Notion Free team collaborating with more than 10 outside clients | Rule out Notion Free; verify paid-plan guest capacity before choosing | Notion Free allows 10 external guests; do not choose a paid plan until its guest capacity meets your client requirement. Obsidian offers collaboration through Sync shared vaults or third-party tooling, without a permission model. |
| Team needing only views over local Markdown properties, not permissions or built-in multi-user editing | Obsidian with Bases | Choose Bases if the requirement is views over local Markdown properties rather than shared editing or permissions; Map additionally requires the Maps plugin. |
| Notion team whose pages are stable, permissioned and within their history window | Notion — stay put | Stay on Notion if its existing permissions and history meet your requirements; Obsidian has no permission model or built-in multi-user editing. |
Code and configuration
// The API budget is the real constraint: 180 req/min per connection
// (600 on Business+), plus a shared per-workspace budget.
async function queryAll(dbId, cursor) {
const res = await fetch(`https://api.notion.com/v1/databases/${dbId}/query`, {
method: 'POST',
headers: { Authorization: `Bearer ${process.env.NOTION_TOKEN}`,
'Notion-Version': '2022-06-28', 'content-type': 'application/json' },
body: JSON.stringify({ start_cursor: cursor, page_size: 100 }),
});
// Here it breaks: bursts are allowed, sustained rate is not.
if (res.status === 429 || res.status === 529) {
const wait = Number(res.headers.get('Retry-After') || 60);
await new Promise(r => setTimeout(r, wait * 1000));
}
return res.json();
}
# A .base file is a saved query. It holds the view, not the data:
# delete it and your notes are untouched.
filters:
and:
- file.inFolder("Projects")
- file.hasTag("active")
formulas:
ratio: '(price / age).toFixed(2)'
views:
- type: table
order:
- file.name
- formula.ratio
# Here it breaks: there is no permission layer. Anyone who has the vault
# sees every note, including the ones you would have restricted in Notion.
What you gain, what you give up
Notion
- Permissions, private teamspaces and SSO in the same place as the content
- Databases with relations, rollups and formulas computed server-side
- Notion Agent and AI Meeting Notes included from Business
- Multiplayer editing with no sync service to run yourself
- Page history is a plan feature: 7 days Free, 30 Plus, 90 Business
- The API is metered: 180 requests/minute per connection, 600 only on Business and up
- Free caps uploads at 5 MB and guests at 10
- Custom Agents bill per 1,000 Notion credits on top of the seat price
Obsidian
- Free without limits, no sign-up, no telemetry, data on your own disk
- Bases is a core plugin: table, cards, list, kanban and map views over frontmatter
- History is git history — no plan-imposed cutoff on how far back you can go
- Sync costs $4/user/month with AES-256 end-to-end encryption, and is optional
- No permission model and no built-in multi-user editing
- No server-side agent, no computed properties on a server, no API
- Collaboration arrives only through Sync shared vaults or third-party tooling
- You own the backups, the indexing and the failure modes of your own machine
Migration path
Notion to Obsidian is a conversion, not a move: export to Markdown and CSV, then rebuild what the export cannot carry — relations become links or frontmatter, rollups become formulas, and permissions disappear entirely. Obsidian to Notion is worse in the other direction: plain files become blocks, the API becomes a 180-request-per-minute budget, and your git history stops being your history. Decide by which of those two losses you can actually live with.
Common questions
Retry-After. Overloads can also come back as HTTP 529 with service_overload.Sources & verification
Prices and limits were read from these pages on 2026-11-10. Vendor marketing claims are quoted as claims. Anything derived is arithmetic on the numbers below.
https://www.notion.com/pricing
https://developers.notion.com/reference/request-limits
https://obsidian.md/pricing
https://obsidian.md/help/bases
https://obsidian.md/help/bases/views
Keep reading
Cursor vs GitHub Copilot
Two vendors, two meters, same question about model and surface ownership.
Supabase vs Firebase
The clearest case of a free tier that expires the moment your usage pattern changes.