Skip to content

Developers

The Glitchdata API

Read-only JSON over everything published here: datasets, models, courses, guides, news and one search endpoint. No key, no sign-up, and nothing to agree to beyond each item's own licence.

curl https://blog.glitchdata.com/api/courses?topic=generative-ai&limit=5

Hub

GET /api/datasets

Live datasets, most downloaded first.

search
match the title
limit
1–100, default 50
page
page number
GET /api/datasets/{namespace}/{name}

One dataset, with its card and every file link.

GET /api/models

Live models, most downloaded first.

search
match the title
limit
1–100, default 50
page
page number
GET /api/models/{namespace}/{name}

One model, with its card and every file link.

Learning

GET /api/courses

Published courses.

topic
topic slug
level
beginner, intermediate or advanced
source
glitchdata or external
search
match title or summary
limit
1–100, default 25
GET /api/courses/{slug}

One course with its lessons. Free preview lessons include their Markdown; the rest need enrolment.

GET /api/guides

Published guides.

topic
topic slug
search
match title or excerpt
limit
1–100, default 25
GET /api/guides/{slug}

One guide, with its Markdown body.

GET /api/topics

Every topic, with how many courses and guides it holds.

GET /api/news

Published news posts, newest first.

category
category name
limit
1–100, default 25
GET /api/news/{slug}

One post, with its Markdown body and key takeaways.

GET /api/search

Titles matching a term, grouped by kind.

q
required search term
limit
1–25 per kind, default 10

What comes back

Listings return data, total and next — follow next until it is null. A single item comes back as a bare object.

{
  "data": [
    {
      "slug": "how-machine-learning-works",
      "title": "How machine learning works",
      "summary": "What a model actually learns from data…",
      "topic": "ai-foundations",
      "level": "beginner",
      "lessons": 4,
      "minutes": 56,
      "free": true,
      "provider": null,
      "external_url": null,
      "published_at": "2026-06-27T00:00:00+00:00",
      "url": "https://glitchdata.com/courses/how-machine-learning-works"
    }
  ],
  "total": 33,
  "next": "https://glitchdata.com/api/courses?page=2"
}

Fair use

120 requests a minute per address, which is plenty for scripts and backfills. Cache what you fetch, and if you need more, tell us what you are building.

Licences travel with the data

Every file link points at the publisher that hosts it, and each dataset carries its own licence — check the license field before you redistribute anything.

Only what is public

Drafts, submissions awaiting review and the lessons that need enrolment are never returned, signed in or not.

Also machine-readable

sitemap.xml, the news and guide feeds, and schema.org JSON-LD on every dataset page.