Skip to content

Developers

The Glitchdata API

Read-only JSON over everything published here: datasets, models, skills, 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://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.

GET /api/skills

Live skills — instructions written for an agent.

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

One skill, with its full instructions as Markdown.

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

Keys and rate limits

The API is open: everything it returns is public, and no key is needed to read any of it. A key identifies you, which raises your limit to your plan's and lets you see your own usage. Create one in Settings → API keys.

curl -H "Authorization: Bearer gd_your_key_here" https://glitchdata.com/api/datasets?limit=5

X-API-Key: gd_… works too. A key that is unknown or expired does not fail the request — the response carries X-API-Key-Status and you are served as an anonymous caller, so a script reading public data never breaks on a stale key.

Plan Requests a minute Keyed by
Free 120 Your address, or your account with a key
Member 600 Your account
Team 1,200 Your account
Partner 3,000 Your account

Keys are stored as a hash, shown once when created, and can be given an expiry. Revoking one takes effect immediately. If a key leaks, revoke it — we cannot read it back to you either.

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 without a key, more with one — see the table above. Cache what you fetch, and if you need more than a plan offers, 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.