Discover/Notion API
live

Notion APIdevelopers.notion.com

Search and browse Notion's developer documentation to find specific pages and retrieve their full content in markdown format. Access comprehensive information about Notion's capabilities by listing available pages or looking up individual documentation entries.

Endpoint health
monitored
get_page
list_pages
search_docs
Checks pendingself-healing
Endpoints
3
Updated
3h ago
Try it

No input parameters required.

api.parse.bot/scraper/0f772cb3-4e0c-441c-b344-ed13c766f6c5/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/0f772cb3-4e0c-441c-b344-ed13c766f6c5/list_pages' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace developers-notion-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Walkthrough: NotionDocs SDK - access Notion API documentation programmatically."""
from parse_apis.developers_notion_com_api import NotionDocs, PageNotFound

client = NotionDocs()

# List all available documentation pages
for page in client.pages.list(limit=5):
    print(page.title, "-", page.description)

# Search for specific documentation topics
result = client.pages.search(query="database query", limit=1).first()
if result:
    print(result.title, result.section, f"(score: {result.score})")
    print("Breadcrumbs:", result.breadcrumbs)

    # Navigate from search result to full page content
    full = result.full_page()
    print(full.title, "-", full.content[:200])

# Fetch a page directly by path
try:
    page = client.pages.get(path="reference/retrieve-a-page")
    print(page.title, "-", page.path)
except PageNotFound as exc:
    print(f"Page not found: {exc.path}")

print("exercised: pages.list / pages.search / full_page / pages.get")
All endpoints · 3 totalmissing one? ·

Retrieves the full documentation index with every page in the Notion developer docs including title, path, URL, and description. Results are returned as a single list; use get_page with a returned path to fetch full content.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "pages": "array of page summaries",
    "total": "integer"
  },
  "sample": {
    "data": {
      "pages": [
        {
          "url": "https://developers.notion.com/cli/get-started/authentication.md",
          "path": "cli/get-started/authentication",
          "title": "Authentication",
          "description": "Log in to your Notion workspace and manage CLI credentials."
        }
      ],
      "total": 197
    },
    "status": "success"
  }
}

About the Notion API

The Notion API on Parse exposes 3 endpoints for the publicly available data on developers.notion.com. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.