🎨 TapColor Developer https://api.tapcolor.app Main site ↗

TapColor Developer API

Browse TapColor coloring categories and collections over a simple REST API. Data is returned as JSON at the collection level. Authenticate with an api-key issued by TapColor.

Base URL

https://api.tapcolor.app

Authentication

Every request must include the api-key header. Requests without a valid key return 401. Keys can be revoked at any time.

api-key: YOUR_API_KEY
Need an API key? Request access and we'll get you set up — usually within one business day.
Request a key →

Rate limits & errors

  • Rate limit: 120 requests per 10 minutes per key — exceeding it returns 429.
  • 401 — missing / invalid api-key, or the key has been revoked.
  • 404 — endpoint not found.
  • All responses are UTF-8 JSON; errors look like { "error": "..." }.

List collections

GET /v1/coloring-pages

Returns a list of collections with filtering, search and pagination.

Query parameters

ParameterTypeDescription
categorystringoptionalCategory slug (e.g. animals, disney). Omit for all categories.
qstringoptionalSearch collection names (partial match, case-insensitive).
limitintegeroptionalNumber of items to return, 1–100. Defaults to 20.
offsetintegeroptionalSkip the first N items for pagination. Defaults to 0.

Example request

curl "https://api.tapcolor.app/v1/coloring-pages?category=animals&limit=20" \
  -H "api-key: YOUR_API_KEY"
import requests

resp = requests.get(
    "https://api.tapcolor.app/v1/coloring-pages",
    params={"category": "animals", "limit": 20},
    headers={"api-key": "YOUR_API_KEY"},
)
data = resp.json()
print(data["total"], "collections")
for item in data["items"]:
    print(item["subtopic"], "->", item["url"])
const res = await fetch(
  "https://api.tapcolor.app/v1/coloring-pages?category=animals&limit=20",
  { headers: { "api-key": "YOUR_API_KEY" } }
);
const data = await res.json();
console.log(data.total, "collections");
data.items.forEach((it) => console.log(it.subtopic, it.url));

Example response

{
  "total": 95,
  "limit": 20,
  "offset": 0,
  "count": 20,
  "items": [
    {
      "category": "Animals",
      "categorySlug": "animals",
      "subtopic": "Arctic Animals",
      "subtopicSlug": "arctic-animals",
      "count": 35,
      "url": "https://tapcolor.app/coloring-pages/animals/arctic-animals/",
      "image": "https://img.tapcolor.app/images/animals/arctic-animals/seal.jpg"
    }
  ]
}

List categories

GET /v1/categories

Returns all 25 categories with the number of collections and pages in each.

Example request

curl "https://api.tapcolor.app/v1/categories" -H "api-key: YOUR_API_KEY"

Example response

{
  "total": 25,
  "items": [
    {
      "name": "Animals",
      "slug": "animals",
      "subtopics": 95,
      "pages": 3324,
      "url": "https://tapcolor.app/coloring-pages/animals/"
    }
  ]
}