I know how to publish a Notion page to the web manually through the dashboard interface, but I need to automate this process using code. I’ve been searching through the official Notion API documentation but can’t seem to find any endpoints or methods that allow me to programmatically set a page’s visibility to public. Has anyone figured out if this functionality is available through the API? I’m building an application that needs to automatically publish certain pages and doing it manually each time isn’t practical. Any insights or workarounds would be really helpful.
nope, still no native api support. i’ve been checking their changelog constantly and there’s nothing yet. at this point, i’m wondering if they’ll ever add it - publishing control seems like something they want to keep manual for security reasons. worth submitting a feature request though. i’ve seen them respond to popular dev requests before.
Hit this same wall building a doc system that synced with our deployment pipeline. Spent weeks researching and testing different approaches before realizing Notion deliberately blocks publishing controls from the API - they want users to explicitly control what goes public. Here’s what actually worked: I built a hybrid solution with a webhook monitoring specific database properties. It pings our team when pages are ready to publish. We batch everything during weekly content reviews instead of automating the whole process. Big lesson learned - forcing automation on every step creates more headaches than it’s worth. Sometimes that manual step is actually good for quality control, especially for public-facing content.
Had this exact issue building a documentation system that published pages from our release pipeline. The API limitation sucks, but there’s a solid workaround.
Don’t mess with browser automation or wait for Notion to fix this. I built a workflow that watches my Notion database for status changes. Page gets marked “ready to publish”? It automatically triggers the publishing through browser actions.
The difference from manual selenium scripts? I use a proper automation platform that handles browser reliability issues. No more broken selectors or maintenance nightmares when Notion changes their UI.
I can batch dozens of pages at once, and it works great with webhooks for real-time publishing. Set it up once, done.
This works for any platform with API gaps, not just Notion. I use it to automate tasks across our entire tech stack.
Check out Latenode for this kind of workflow automation: https://latenode.com
Yeah, Notion’s API doesn’t let you make pages public automatically. Really annoying gap that forces manual workarounds.
I hit this same issue last year building a content system that needed auto-publishing. Ended up using browser automation to fix it.
Here’s what I did: set up a flow that watches my Notion database for pages marked “ready to publish”. When it spots changes, it triggers automation that logs into Notion and clicks the publish buttons.
Best part? It runs in the background. I bulk-mark pages in my database and they all get published without touching Notion’s interface.
You can hook it up to webhooks for real-time publishing or run it on schedule for batch processing.
I use this workflow approach for API gaps across platforms. Way more reliable than cobbling together selenium scripts.
For something simpler, check out Latenode: https://latenode.com
Yeah, this is one of those annoying gaps in Notion’s API that’s been bugging developers for years. I’ve been using their API since early 2022 and there’s still no way to publish pages publicly through their endpoints. Browser automation works but it’s a pain to maintain. Every time Notion tweaks their UI, you’re fixing broken selectors. I tried that route and got tired of the constant updates. I ended up changing my whole approach. Instead of trying to make Notion pages public through code, I just pull the content via API and display it on my own site. You get complete control over styling and SEO, plus Notion stays your content hub. For basic content, this actually loads faster than Notion’s public pages since you’re not pulling their entire frontend. The downside is you handle the rendering yourself, but tools like notion-to-md make converting content pretty easy.
totally get you! this feature would be super handy. currently, i’ve also been relying on selenium, and it’s such a hassle. fingers crossed that notion will integrate this function into their api soon!