Quickstart
Use the Makeform REST API to create and publish a form, then read its submissions. You need an API key from the dashboard.
Create an API key
In the dashboard, open Settings → API keys and create a key. Makeform shows the key once. See Authentication for key details.
Use this placeholder in the examples below, replacing it with your key:
mf_live_YOUR_API_KEYCheck your API access
Call GET /users/me to confirm that the key works. The response includes your account and key scope.
curl https://api.makeform.ai/users/me \
-H "Authorization: Bearer mf_live_YOUR_API_KEY"Create a form with two fields
POST /forms creates a draft. This config adds a required short text field and a required email field. For more config details, see Form config overview.
curl https://api.makeform.ai/forms \
-X POST \
-H "Authorization: Bearer mf_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Contact request",
"preview_config": {
"mode": "page",
"pages": [{
"type": "form",
"id": "p1",
"ui": [
{
"type": "short_text_input",
"name": "full_name",
"label": "Your name",
"required": true,
"placeholder": "Ada Lovelace"
},
{
"type": "email_input",
"name": "email",
"label": "Your email",
"required": true,
"placeholder": "[email protected]"
}
]
}]
}
}'The response contains the form id. Use it in place of FORM_ID in the next steps.
Publish the draft
Publish the form's saved draft with POST /forms/{id}/publish.
curl https://api.makeform.ai/forms/FORM_ID/publish \
-X POST \
-H "Authorization: Bearer mf_live_YOUR_API_KEY"List submissions
Call GET /forms/{id}/submissions to list submissions. The default page size is 50.
curl "https://api.makeform.ai/forms/FORM_ID/submissions" \
-H "Authorization: Bearer mf_live_YOUR_API_KEY"Rate limits
Requests can be rate limited. When the API returns 429, wait for the time in the Retry-After header before retrying.
:::