example-data.com
Menu
Browse docs and collections

todos

todos

Page 16 of 126.

Overview

Request

curl example

curl -sS \
  "https://example-data.com/api/v1/todos?limit=25"

JavaScript example

const res = await fetch(
  "https://example-data.com/api/v1/todos?limit=25"
);
const { data, meta } = await res.json();

TypeScript example

// Download once: mkdir -p types && curl -o types/todos.d.ts https://example-data.com/types/todos.d.ts
import type { Todo, ListEnvelope } from "./types/todos";

const res = await fetch(
  "https://example-data.com/api/v1/todos?limit=25"
);
const { data, meta } = (await res.json()) as ListEnvelope<Todo>;

Python example

import requests

res = requests.get(
    "https://example-data.com/api/v1/todos",
    params={"limit": 25},
)
data = res.json()

Response

{
  "data": [
    {
      "id": 361,
      "todoListId": 29,
      "title": "Complete the team",
      "isDone": true,
      "dueDate": null,
      "completedAt": "2025-10-24T14:40:13.312Z",
      "createdAt": "2025-07-15T00:20:32.040Z",
      "updatedAt": "2026-01-29T05:03:21.156Z"
    },
    {
      "id": 362,
      "todoListId": 29,
      "title": "Finish the feedback",
      "isDone": false,
      "dueDate": null,
      "completedAt": null,
      "createdAt": "2025-10-20T13:53:52.590Z",
      "updatedAt": "2025-12-30T20:27:59.951Z"
    },
    {
      "id": 363,
      "todoListId": 29,
      "title": "Research the dashboard",
      "isDone": false,
      "dueDate": null,
      "completedAt": null,
      "createdAt": "2025-10-19T19:11:00.366Z",
      "updatedAt": "2025-10-22T04:03:41.995Z"
    }
  ],
  "meta": {
    "page": 16,
    "limit": 24,
    "total": 3016,
    "totalPages": 126
  },
  "links": {
    "self": "/api/v1/todos?page=16&limit=24",
    "first": "/api/v1/todos?page=1&limit=24",
    "last": "/api/v1/todos?page=126&limit=24",
    "next": "/api/v1/todos?page=17&limit=24",
    "prev": "/api/v1/todos?page=15&limit=24"
  }
}