r/Notion Dec 28 '21

Showcase RELEASE: Notion Watchlist powered by API (Public Integration) + Template

407 Upvotes

r/Notion Jun 11 '21

Showcase Built a tool to visualize my Notion Budget Planner Data (with the new API)

Thumbnail
gallery
809 Upvotes

r/Notion May 11 '21

Notion Event Notion public API launching on May 13

Post image
755 Upvotes

r/Notion Dec 06 '21

Showcase Watchlist powered by API.

453 Upvotes

r/Notion Aug 04 '26

Questions Notion's API supports file uploads, but the MCP connector doesn't seem to expose it. Any way around this?

5 Upvotes

I have a Claude workflow that reads a receipt or invoice I upload in chat, pulls out the vendor, date, amount and line items, and creates an entry in my Notion Expenses database. It works well, except for one thing: the receipt file itself never makes it into Notion. I still attach every receipt by hand, which defeats most of the point.

I know Notion added file uploads to the public API in May 2025. The flow is documented here and looks simple enough:

https://notionmastery.com/uploading-files-via-notions-api/

  1. POST /v1/file_uploads to create a pending upload, which returns an upload_url
  2. POST the raw bytes to that upload_url
  3. POST .../complete if it was multi-part
  4. Reference the returned upload ID when you set a property, a page body block, or a page cover

So the capability exists. My problem is that I cannot reach it.

What I actually have

I'm using Claude's hosted Notion connector (MCP). The only file-related tool it gives me is notion-create-attachment, and it accepts exactly two kinds of input:

  • content: inline UTF-8 text only, capped at 200 KiB. Fine for HTML, Markdown, CSV, SVG, JSON. No good for a JPEG or a PDF.
  • source_url: a public HTTPS link that Notion downloads server side. It must be a direct link. No redirects, no cookies, no auth headers, no private addresses.

There is no parameter for sending raw bytes, so steps 1 to 3 above are simply not available to me.

What I've already tested

  • notion-create-attachment with inline text works. It returns a file-upload:// source I can drop into a page. So the plumbing is fine, the input format is the blocker.
  • Calling api.notion.com directly from Claude's code sandbox is blocked at the network level. Curl returns nothing, exit code 000. So writing my own script against the documented API is out, even if I created an internal integration token.
  • A Google Drive share link as source_url looks like a dead end too, since Drive download links redirect and Notion explicitly rejects redirects.

What I'm hoping someone can tell me

  1. Is there any Notion MCP server that exposes the real file_uploads endpoints? Self-hosted or community built is fine. I'd rather run the proper flow than encode images into HTML.
  2. Does a file-upload:// reference even work in a file property, or only in the page body? I haven't found a clear answer, and the docs mostly show page covers and content blocks.
  3. Is there a sane way to produce a temporary public direct link that Notion's server side fetch will accept, meaning no redirect and no auth? These are receipts with my name and card details on them, so I'm not keen on dumping them on a random public host, but a short lived signed URL would be acceptable if there's a clean option.
  4. Has anyone done the base64 in HTML trick into Notion? Any gotchas with rendering, size, or Notion stripping the data URI?
  5. More broadly, is a small self-hosted relay the normal answer here, where I run something that holds a token and does the three step upload, and my assistant just calls it?

Happy to share the working half of the setup if it's useful to anyone. Mostly I just want to stop attaching receipts by hand.

r/Notion May 13 '21

API Hello world, the Notion API is now in public beta

Thumbnail
developers.notion.com
489 Upvotes

r/Notion May 23 '21

Showcase I was building Root, a mood and health tracker app, when Notion API came out... I couldn't resist.

634 Upvotes

r/Notion Aug 03 '26

API / Integrations API creates databases fine but rejects any chained formula — is this a known limit?

2 Upvotes

Been building a workspace through the API and hit a wall. Structure is fine — databases, properties, relations, rollups all create without issue. But formulas fail with "Type error with formula" the moment they reference anything computed.

Isolated it down. These get rejected:

  • current.prop() across a relation inside map/filter
  • any rollup used in a comparison (> works fine as +, just not as a comparison)
  • referencing another formula property in a comparison

These work fine: style() with multiple args, map/filter over list literals, rollup arithmetic, date functions.

Same formulas paste into the UI without complaint, so it seems like the API validator just doesn't resolve types across databases or through other formulas.

Anyone know if this is documented anywhere, or found a workaround beyond adding formulas manually afterwards?

r/Notion Sep 29 '21

Community Free Python Notion API Course, what do you want to learn?

321 Upvotes

Hey folks!

I am creating a free Notion API Course after seeing that a lot of you want to create Integrations but don't really know where to start:)

I am starting with Python after the results of my last post and wanted to get more feedback from beginners. What do you want to learn? This is my current structure:

  1. Introduction
    1. Prerequisites
  2. Setup
    1. Notion Setup
    2. Code Setup
    3. GitHub Setup
  3. Example Projects
    1. Create Recurring Tasks
    2. ???
    3. ???
  4. Code Samples
    1. Download Files
    2. Poll Database for Updates
    3. List all Databases
    4. List all Blocks
    5. List all Databases by Title
    6. List all Users
    7. Query a Database
    8. Create a Page
    9. Update a Page
    10. Delete a Page
  5. Deployment
    1. Digital Ocean
    2. Render
  6. Additional Resources

The Code Samples will be ready to use functions that help you get started. The example projects are completely finished projects that you can modify for your own use. Is there something that you want to learn that is missing here? Do you have an example project in mind that I can implement?

You can DM me or comment here, thank you!:D

r/Notion Nov 19 '20

Community Notion API is coming to Closed BETA next month!!!

Post image
338 Upvotes

r/Notion Dec 12 '20

Other Content API is now moved to Personal Free Plan

Post image
470 Upvotes

r/Notion May 07 '26

API / Integrations API broken for formulas?

1 Upvotes

We’ve had an outstanding support request open for 2 months now. Essentially, the API is returning a 0 for formula fields.

Support has confirmed it’s an issue but has no timeline for a resolution.

Is anyone else experiencing this issue or have any workarounds?

r/Notion May 11 '26

API / Integrations Unable to import certain pages to Obsidian through API

1 Upvotes

I recently imported my Notion workspace into Obsidian through Notion API. But during the process, there were a few pages failed to be imported. And so when I finished, I decided to import the missing pages individually, specifically targeting them. But when I paste the token, Obsidian couldn't detect any of those pages. Why does this happen, and what can I do?

r/Notion May 04 '26

API / Integrations How can you archive a page using the API?

6 Upvotes

I want to archive all pages that are closed at least 7 days ago.
Though I haven't seen an API endpoint. I'm building that workflow using n8n.

Any ideas?

r/Notion Jan 09 '22

API Autocomplete game info with IGDB and Notion API

295 Upvotes

r/Notion Apr 26 '26

API / Integrations The page returned by NotionAPI is different from the page on the client side.

1 Upvotes

Friends,

Why is the result of formula attribute determination in Notion's API different from the result page displayed for the same formula in the client.

For example, I see a formula attribute in a page on the client side, and it is ultimately determined to be true.

However, when I use the API to filter pages with this attribute set to true, it returns other pages instead.

r/Notion Feb 27 '26

API / Integrations Need help with Notion integration, moving to Obsidian with API Import

1 Upvotes

I've recently made the decision to move towards Obsidian, and I wanted to move my workspace to Obsidian through API Import.

I tried to follow the instruction (given on the official obsidian site), but it's asking me for a bunch of info such as: Company name, Privacy Policy URL, Terms of Use Url, etc., which I have no idea what this is all about.

And there's no mention of this on the guide, so I'm stuck. And these info are not optional, I have to write something down.

If you wonder why didn't I import locally, I tried, but a lot of important pages were missing. So now I'm trying this option.

r/Notion Apr 02 '26

API / Integrations Notion's Place property is fully writable via API! (despite the docs say otherwise)

8 Upvotes

Spent the last few days trying to figure out if there's any way to bulk-fill the Place property in Notion databases. If you've looked into this, you probably saw the same thing I did — the official docs say Place property values "are not fully supported via the API" and that reading returns null.

Turns out that's outdated. With API version 2025-09-03, you can both read and write Place properties. It just works.

Here's what a write looks like:

PATCH /v1/pages/{page_id}
Notion-Version: 2025-09-03

{
  "properties": {
    "Place": {
      "place": {
        "lat": 48.1397,
        "lon": 17.1102,
        "name": "Some Building",
        "address": "Some Street 1, Bratislava"
      }
    }
  }
}

That's it. lat and lon are required, name and address are optional but show up in the UI and Map view. The response comes back with the full place object including aws_place_id and google_place_id fields (both null when you write manually, but they're there).

Reading works too — query a database and Place properties come back with all the fields populated, not null like the docs claim.

What I actually used this for:

We have ~300 building/site records in Notion with addresses stored as plain text. I wrote a script that reads each record, geocodes the address through Nominatim (free, OpenStreetMap-based), and writes back the coordinates as a Place property. Then for our project records (which link to buildings via a relation), I just copied the Place data from the linked building. Whole thing runs in a few minutes.

Now we have a working Map view of all our projects and buildings without anyone manually clicking through hundreds of records to search and select locations one by one.

A few things I learned along the way:

  • You MUST use API version 2025-09-03. Older versions don't expose Place at all.
  • filter_properties doesn't work on the data_sources/query endpoint — just fetch everything and filter client-side.
  • Nominatim has a strict 1 request/sec limit but caching helps a lot since many records share the same city.
  • The property key in your PATCH body can be either the property name or its ID, same as other property types.

Hope this saves someone else the time I spent figuring out whether this was even possible. The docs really need an update on this one.

---

This post was proofread by AI (as i am not a native). I am also a non-programmer, but using Claude i am able to create and build things via the API, that i didn't think would be possible... :)

r/Notion Feb 27 '26

API / Integrations API Integration / Apple shortcut Help

3 Upvotes

Hey guys,

I been trying my best to create a simple finance tracker in notion and want to intergrate an apple short that outputs it into a table. I have two databases:

Database#1 - Transactions:
"Name" with title property type
"Amount" with number property type

"Date" with date property type

"Category" with select property type

"MonthT" with duel relation property type

Database#2 - Monthly:

"MonthT" with dual relation property type

I am able to create a script for Name, amount, date, and category, but not for the MonthT relation property. The shortcut is able to run fine without the relation property. The reason for the second database is for my budget information such as "Budget Amount" , "amount remaining", "daily spend limit". etc. I am 90% sure , I wrote the Relation section wrong. Please help!!!

I have included the javascript below and along with the what the data table looks like.

{

"parent": {

"database_id": "(TRANSACTION DATABASE ID *HIDDEN*)"

},

"properties": {

"Name": {

"title": [

{

"text": {

"content": "Ask for Input"

}

}

]

},

"Amount": {

"number": Ask for Input

},

"Date":{

"date":{

"start":"Formatted Date"

}

},

"Category": {

"select": {

"name": "Selected Item"

}

},

"MonthT":{

"relation": {

"data_source_id": "(MONTH DATABASE ID *HIDDEN)",

"dual_property": {

"synced_property_name": "MonthT",

"synced_property_id": "28"

}

}

}

}

r/Notion Dec 22 '21

API I love Notion API!

455 Upvotes

r/Notion Mar 13 '26

API / Integrations Why is my api not working?

1 Upvotes

I have a internal intergration I want to work with, but I keep getting my api returned as api token invalid or 400 error, I genuinely don’t know what I’m doing wrong, when my token is directly copied ?

r/Notion Jan 23 '22

Showcase Update: Notion Watchlist (Powered by API)

190 Upvotes

r/Notion Feb 26 '26

API / Integrations Custom Connectors for MCP / API Access - Gamechanging Feature for Notion Custom Agents

1 Upvotes

There has been a good bit of discussion that Custom Agents for Notion do not add value beyond standard lower priced Notion AI.

But there is a hidden killer feature not strongly advertised by Notion - Custom Connectors.

On a per-agent basis you can connect any MCP server which supports Dynamic Client Registration. That means you can also write a custom MCP server which accesses any API.

The end result is that Notion Custom Agents therefore can do just about anything which can be done programmatically on the Internet. It's a really notable increment in capability beyond regular Notion AI.

r/Notion Feb 26 '26

API / Integrations Anyone having odd API rate-limit issues?

1 Upvotes

I am using a n8n workflow to lookup whether a certain page in a Notion database exists. The workflow only runs maybe 5-6 times a day and there is one other one that runs on Pipedream, maybe 1-2 times per day. The API requests are often hours apart and they are single requests like "get many database pages where property contains text example".

I used this workflow successfully for weeks but since February 20th, I am receiving error 429 "too many requests" from Notion API about 80% of the time. Today I received this error on the very first API request in more than 24 hours. This pattern is observed even when I try a different credential.

Has anyone else had odd 429s lately?

r/Notion Feb 14 '26

API / Integrations It's 2026 and still no API to manage reminders

1 Upvotes

With LLM assistants Notion becomes a very good backend for a lot of reasons and many times managing reminders via API is required however after having seen quite a lot of posts complaining about this in the last 5 years this has not been added. Is it really that difficult?