api documentation
only users subscribed to the develop plan can access the api.
sign in and subscribe on your profile page. once subscribed you'll see your api key on your profile page.
rate limit
the current api rate limit is 200 requests/minute
api examples
don't forget to replace example api tokens with an environment variable and never push your api key to a public repository.
let us know in discord if you have any api questions.
note: if a cheklist is set to private, then the endpoints will only return data for the api key of the cheklist owner.
endpoint
GET https://cheklist.io/api/cheklist/{cheklist-slug}/user/{user-email}endpoint for drafts to retrieve sample data
GET https://cheklist.io/api/cheklist/{cheklist-slug}/user/sampleexample requests
curl -X GET "https://cheklist.io/api/cheklist/tacos/user/jane@iliketacos.com" \
-H "Authorization: Bearer YOUR_CHEKLIST_API_KEY" \
-H "Accept: application/json"example response
{
"data": {
"cheklist_name": "taco ingredients",
"cheklist_url": "https://cheklist.io/cheklist/tacos",
"cheklist_description": "select taco ingredients that you like.",
"cheklist_author_name": "taco lover",
"cheklist_author_url": "https://cheklist.io/cheklists/user/taco-lover",
"user_email": "jane@iliketacos.com",
"fields": [
{"id":"abcd1234","name":"peanut butter","link":null,"checked":false},
{"id":"efgh4567","name":"jelly","link":"https://cheklist.io/cheklist/jelly","checked":false},
{"id":"ijkl7890","name":"avocado","link":null,"checked":true},
{"id":"mnop0123","name":"ice cream","link":"https://ice-cream-website.com","checked":true}
]
}
}endpoint
GET https://cheklist.io/api/user/cheklists
example requests
curl -X GET "https://cheklist.io/api/user/cheklists" \
-H "Authorization: Bearer YOUR_CHEKLIST_API_KEY" \
-H "Accept: application/json"example response
{
"data": {
"cheklists": [
{
"name": "taco ingredients",
"slug": "tacos",
"url": "https://cheklist.io/cheklist/tacos",
"description": "select taco ingredients that you like.",
"excerpt": "a cheklist about tacos",
"status": "published",
"stats_public": true,
"field_count": 4,
"created_at": "2026-01-15T10:30:00.000Z",
"published_at": "2026-01-15T12:00:00.000Z"
}
],
"total": 1
},
"timestamp": 1743868800000
}note: if stats are set to "private", this endpoint will still work for the api key of the cheklist owner so they can use stats in their own custom apps. the cheklist owner must be on the "develop" plan to have their own api key in this use case.
endpoint
GET https://cheklist.io/api/cheklist/{cheklist-slug}/statsexample requests
curl -X GET "https://cheklist.io/api/cheklist/tacos/stats" \
-H "Authorization: Bearer YOUR_CHEKLIST_API_KEY" \
-H "Accept: application/json"example response
{
"data": {
"cheklist_name": "taco ingredients",
"cheklist_url": "https://cheklist.io/cheklist/tacos",
"cheklist_description": "select taco ingredients that you like.",
"cheklist_author_name": "taco lover",
"cheklist_author_url": "https://cheklist.io/cheklists/user/taco-lover",
"total_entries": 142,
"fields": [
{"id":"abcd1234","name":"peanut butter","link":null,"count":12,"percentage":8.45},
{"id":"efgh4567","name":"jelly","link":"https://cheklist.io/cheklist/jelly","count":34,"percentage":23.94},
{"id":"ijkl7890","name":"avocado","link":null,"count":128,"percentage":90.14},
{"id":"mnop0123","name":"ice cream","link":"https://ice-cream-website.com","count":87,"percentage":61.27}
]
},
"timestamp": 1743868800000
}