The reference is your key to a comprehensive understanding of the Notion API.
Settings & Members in the left sidebar. If you’re not an admin in any of your workspaces, you can create a personal workspace for free.https://api.notion.com. HTTPS is required for all API requests.The Notion API follows RESTful conventions when possible, with most operations performed viaGET,POST,PATCH, andDELETE requests on page and database resources. Request and response bodies are encoded as JSON."object" property. This property can be used to determine the type of the resource (e.g."database","user", etc.)"id" property. You may omit dashes from the ID when making requests to the API, e.g. when copying the ID from a Notion URL.snake_case (notcamelCase orkebab-case).2020-08-12T02:12:33.231Z) while dates will include only the date (2020-08-12)urlProperty value object, for example, use an explicitnull instead of"".| HTTP method | Endpoint |
|---|---|
| GET | List all users |
| GET | Retrieve block children |
| GET | Retrieve a comment |
| GET | Retrieve a page property item |
| POST | Query a data source |
| POST | Search |
| Field | Type | Description |
|---|---|---|
has_more | boolean | Whether the response includes the end of the list.false if there are no more results. Otherwise,true. |
next_cursor | string | A string that can be used to retrieve the next page of results by passing the value as thestart_cursorparameter to the same endpoint.Only available when has_more is true. |
object | "list" | The constant string"list". |
results | array of objects | The list, or partial list, of endpoint-specific results. Refer to asupported endpoint’s individual documentation for details. |
type | "block""comment""database""page""page_or_database""property_item""user" | A constant string that represents the type of the objects inresults. |
{type} | paginated list object | An object containing type-specific pagination information. Forproperty_items, the value corresponds to thepaginated page property type. For all other types, the value is an empty object. |
GET requests accept parameters in the query string.POST requests receive parameters in the request body.| Parameter | Type | Description |
|---|---|---|
page_size | number | The number of items from the full list to include in the response. Default: 100Maximum: 100The response may contain fewer than the default number of results. |
start_cursor | string | Anext_cursor value returned in a previousresponse. Treat this as an opaque value.Defaults to undefined, which returns results from the beginning of the list. |
curl --location --request POST 'https://api.notion.com/v1/databases/<database_id>/query' \--header 'Authorization: Bearer <secret_bot>' \--header 'Content-Type: application/json' \--data '{ "start_cursor": "33e19cb9-751f-4993-b74d-234d67d0d534"}'