Markdown โ Notion in 60 Seconds
Send Markdown to Notion via API in under a minute. Copyโpaste examples for cURL, Node, and Python, plus practical examples.
Product
Turn any Make.com workflow into beautiful Notion pages. Perfect for AI outputs, form submissions, and automated documentation.
Transform any data source into formatted Notion content:
Just need one thing:
That's it! Use the /convert endpoint to get Notion-compatible JSON blocks.
Need all four items:
1. Get Your Mark2Notion API Key
Sign up free โข 100 requests/month included
2. Create a Notion Integration
ntn_)3. Share Your Notion Page
4. Get Your Page ID
Copy from your Notion page URL:
https://notion.so/Your-Page-Title-[PAGE_ID_HERE]
Add a single "HTTP - Make a request" module in Make.com. Here are two configurations depending on your goal.
https://api.mark2notion.com/api/convert
Add headers
Settings
Body
https://api.mark2notion.com/api/append
Add headers
Settings
Body
Drop these pre-configured HTTP Request modules directly into your Make.com workflow.
Perfect when you need Notion blocks JSON for further processing.
{
"subflows": [
{
"flow": [
{
"id": 1,
"module": "http:ActionSendData",
"version": 3,
"parameters": {
"handleErrors": true,
"useNewZLibDeCompress": true
},
"mapper": {
"url": "https://api.mark2notion.com/api/convert",
"serializeUrl": false,
"method": "post",
"headers": [
{
"name": "x-api-key",
"value": "YOUR_API_KEY_HERE"
}
],
"qs": [],
"bodyType": "x_www_form_urlencoded",
"parseResponse": false,
"authUser": "",
"authPass": "",
"timeout": "",
"shareCookies": false,
"ca": "",
"rejectUnauthorized": true,
"followRedirect": true,
"useQuerystring": false,
"gzip": true,
"useMtls": false,
"formFields": [
{
"key": "markdown",
"value": "# hello"
}
],
"followAllRedirects": false
},
"metadata": {
"designer": {
"x": 0,
"y": 0
},
"restore": {
"expect": {
"method": {
"mode": "chose",
"label": "POST"
},
"headers": {
"mode": "chose",
"items": [
null
]
},
"qs": {
"mode": "chose"
},
"bodyType": {
"label": "Application/x-www-form-urlencoded"
},
"formFields": {
"mode": "chose",
"items": [
null
]
}
}
},
"parameters": [
{
"name": "handleErrors",
"type": "boolean",
"label": "Evaluate all states as errors (except for 2xx and 3xx )",
"required": true
},
{
"name": "useNewZLibDeCompress",
"type": "hidden"
}
],
"expect": [
{
"name": "url",
"type": "url",
"label": "URL",
"required": true
},
{
"name": "serializeUrl",
"type": "boolean",
"label": "Serialize URL",
"required": true
},
{
"name": "method",
"type": "select",
"label": "Method",
"required": true,
"validate": {
"enum": [
"get",
"head",
"post",
"put",
"patch",
"delete",
"options"
]
}
},
{
"name": "headers",
"type": "array",
"label": "Headers",
"spec": [
{
"name": "name",
"label": "Name",
"type": "text",
"required": true
},
{
"name": "value",
"label": "Value",
"type": "text"
}
]
},
{
"name": "qs",
"type": "array",
"label": "Query String",
"spec": [
{
"name": "name",
"label": "Name",
"type": "text",
"required": true
},
{
"name": "value",
"label": "Value",
"type": "text"
}
]
},
{
"name": "bodyType",
"type": "select",
"label": "Body type",
"validate": {
"enum": [
"raw",
"x_www_form_urlencoded",
"multipart_form_data"
]
}
},
{
"name": "parseResponse",
"type": "boolean",
"label": "Parse response",
"required": true
},
{
"name": "authUser",
"type": "text",
"label": "User name"
},
{
"name": "authPass",
"type": "password",
"label": "Password"
},
{
"name": "timeout",
"type": "uinteger",
"label": "Timeout",
"validate": {
"max": 300,
"min": 1
}
},
{
"name": "shareCookies",
"type": "boolean",
"label": "Share cookies with other HTTP modules",
"required": true
},
{
"name": "ca",
"type": "cert",
"label": "Self-signed certificate"
},
{
"name": "rejectUnauthorized",
"type": "boolean",
"label": "Reject connections that are using unverified (self-signed) certificates",
"required": true
},
{
"name": "followRedirect",
"type": "boolean",
"label": "Follow redirect",
"required": true
},
{
"name": "useQuerystring",
"type": "boolean",
"label": "Disable serialization of multiple same query string keys as arrays",
"required": true
},
{
"name": "gzip",
"type": "boolean",
"label": "Request compressed content",
"required": true
},
{
"name": "useMtls",
"type": "boolean",
"label": "Use Mutual TLS",
"required": true
},
{
"name": "formFields",
"type": "array",
"label": "Fields",
"spec": [
{
"name": "key",
"label": "Key",
"type": "text",
"required": true
},
{
"name": "value",
"label": "Value",
"type": "text"
}
]
},
{
"name": "followAllRedirects",
"type": "boolean",
"label": "Follow all redirect",
"required": true
}
]
}
}
]
}
],
"metadata": {
"version": 1
}
}
How to use:
YOUR_API_KEY_HEREDirectly sends markdown content to your Notion page.
{
"subflows": [
{
"flow": [
{
"id": 1,
"module": "http:ActionSendData",
"version": 3,
"parameters": {
"handleErrors": true,
"useNewZLibDeCompress": true
},
"mapper": {
"url": "https://api.mark2notion.com/api/append",
"serializeUrl": false,
"method": "post",
"headers": [
{
"name": "x-api-key",
"value": "YOUR_API_KEY_HERE"
}
],
"qs": [],
"bodyType": "x_www_form_urlencoded",
"parseResponse": false,
"authUser": "",
"authPass": "",
"timeout": "",
"shareCookies": false,
"ca": "",
"rejectUnauthorized": true,
"followRedirect": true,
"useQuerystring": false,
"gzip": true,
"useMtls": false,
"formFields": [
{
"key": "markdown",
"value": "# hello"
},
{
"key": "notionToken",
"value": "ntn_YOUR_TOKEN_HERE"
},
{
"key": "pageId",
"value": "YOUR_PAGE_ID_HERE"
}
],
"followAllRedirects": false
},
"metadata": {
"designer": {
"x": 0,
"y": 0
},
"restore": {
"expect": {
"method": {
"mode": "chose",
"label": "POST"
},
"headers": {
"mode": "chose",
"items": [
null
]
},
"qs": {
"mode": "chose"
},
"bodyType": {
"label": "Application/x-www-form-urlencoded"
},
"formFields": {
"mode": "chose",
"items": [
null,
null,
null
]
}
}
},
"parameters": [
{
"name": "handleErrors",
"type": "boolean",
"label": "Evaluate all states as errors (except for 2xx and 3xx )",
"required": true
},
{
"name": "useNewZLibDeCompress",
"type": "hidden"
}
],
"expect": [
{
"name": "url",
"type": "url",
"label": "URL",
"required": true
},
{
"name": "serializeUrl",
"type": "boolean",
"label": "Serialize URL",
"required": true
},
{
"name": "method",
"type": "select",
"label": "Method",
"required": true,
"validate": {
"enum": [
"get",
"head",
"post",
"put",
"patch",
"delete",
"options"
]
}
},
{
"name": "headers",
"type": "array",
"label": "Headers",
"spec": [
{
"name": "name",
"label": "Name",
"type": "text",
"required": true
},
{
"name": "value",
"label": "Value",
"type": "text"
}
]
},
{
"name": "qs",
"type": "array",
"label": "Query String",
"spec": [
{
"name": "name",
"label": "Name",
"type": "text",
"required": true
},
{
"name": "value",
"label": "Value",
"type": "text"
}
]
},
{
"name": "bodyType",
"type": "select",
"label": "Body type",
"validate": {
"enum": [
"raw",
"x_www_form_urlencoded",
"multipart_form_data"
]
}
},
{
"name": "parseResponse",
"type": "boolean",
"label": "Parse response",
"required": true
},
{
"name": "authUser",
"type": "text",
"label": "User name"
},
{
"name": "authPass",
"type": "password",
"label": "Password"
},
{
"name": "timeout",
"type": "uinteger",
"label": "Timeout",
"validate": {
"max": 300,
"min": 1
}
},
{
"name": "shareCookies",
"type": "boolean",
"label": "Share cookies with other HTTP modules",
"required": true
},
{
"name": "ca",
"type": "cert",
"label": "Self-signed certificate"
},
{
"name": "rejectUnauthorized",
"type": "boolean",
"label": "Reject connections that are using unverified (self-signed) certificates",
"required": true
},
{
"name": "followRedirect",
"type": "boolean",
"label": "Follow redirect",
"required": true
},
{
"name": "useQuerystring",
"type": "boolean",
"label": "Disable serialization of multiple same query string keys as arrays",
"required": true
},
{
"name": "gzip",
"type": "boolean",
"label": "Request compressed content",
"required": true
},
{
"name": "useMtls",
"type": "boolean",
"label": "Use Mutual TLS",
"required": true
},
{
"name": "formFields",
"type": "array",
"label": "Fields",
"spec": [
{
"name": "key",
"label": "Key",
"type": "text",
"required": true
},
{
"name": "value",
"label": "Value",
"type": "text"
}
]
},
{
"name": "followAllRedirects",
"type": "boolean",
"label": "Follow all redirect",
"required": true
}
]
}
}
]
}
],
"metadata": {
"version": 1
}
}
How to use:
YOUR_API_KEY_HERE, YOUR_PAGE_ID_HERE, ntn_YOUR_TOKEN_HERE
Canโt find the answer youโre looking for? Reach out to our customer support team or see the API documentation.
x-api-key headerLearn how to integrate Mark2Notion into your automation workflows, handle complex scenarios, and get the most out of our API.
Send Markdown to Notion via API in under a minute. Copyโpaste examples for cURL, Node, and Python, plus practical examples.
Product
Turn any n8n workflow into formatted Notion pages. Includes copyโpaste HTTP node configs for Convert and Append endpoints.
Guides
Overcome Zapier's native Notion limitations. Send markdown tables, deeply nested content, and large text blocks reliably.
Guides
Send markdown to Notion via API without wrestling with complex block JSON. Handles tables, nested lists, and long content automatically.
Guides
Backup and sync Notion content to Markdown. Perfect for version control, static sites, and content migration.
Guides