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_KEY

Check 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.

:::