Coloring Page API

Search and download the whole library as JSON - free key, 500 requests a day, no credit card.

Your API key

Sign up free (email only) to get a key with 500 requests/day.

Sign Up Login

Endpoints

GET /api/pages/search

Full-text search over the library. Parameters: q (query), category (slug), topic (slug, requires category), age_band (2-4 | 5-8 | 9-12 | 13+), difficulty (1-5), page. 30 results per page, popularity-ordered. Only published, active pages are returned.

curl
curl "https://printablecoloringpages.ai/api/pages/search?q=barn+owl&category=animals&age_band=5-8&key=YOUR_KEY"
Python
import requests

r = requests.get("https://printablecoloringpages.ai/api/pages/search",
                 params={"q": "barn owl", "key": "YOUR_KEY"})
for item in r.json()["results"]:
    print(item["title"], item["files"]["pdf_letter"])
JavaScript
const r = await fetch("https://printablecoloringpages.ai/api/pages/search?q=owl&key=YOUR_KEY");
const data = await r.json();
console.log(data.results.map(i => i.files.pdf_a4));

GET /api/pages/<slug>/

Full metadata for one page: title, subject, category and topic, age band, difficulty, reviewer, the measured block (ink coverage, enclosed regions, stroke width, narrowest gap) when it has been measured, and direct PDF / PNG / SVG file URLs. A retired page returns 410, not 404.

curl "https://printablecoloringpages.ai/api/pages/barn-owl-perched/?key=YOUR_KEY"

Usage rules

Need more than 500/day?

Paid tiers are coming online shortly - until then, contact us if you need a higher limit and we'll sort you out. Contact Us

Rate this page
5.0/5 (0)

What could we improve? Your feedback helps us fix issues.