---
title: "Dynamic SVG countdown badge"
method: GET
path: "/badge/days-until/{target}.svg"
---

# Dynamic SVG countdown badge

`GET /badge/days-until/{target}.svg`

## Request

- Base URL: `https://tilwhen.com`
- URL: `https://tilwhen.com/badge/days-until/{target}.svg`
- Auth: none declared

target is a tracked event slug (e.g. christmas) or an ISO date. Optional label (max 40 chars, word characters and basic punctuation). Counted in UTC; cache expires at the next UTC midnight. Invalid input returns a deterministic 400 SVG.

## Path parameters

- `target` string, required

## Query parameters

- `label` string

## Response `200`

image/svg+xml badge

## Other responses

- `400`: image/svg+xml error badge
- `429`: Rate limited. The API is free and unauthenticated, so requests are metered per IP at 300 per 60 seconds. Counters are per Cloudflare location and eventually consistent, so this is an abuse brake rather than an exact quota. Retry-After gives the window.

---

[API](https://skmtc.dev/tilwhen/apis/tilwhen-date-api.md) · [All operations](https://skmtc.dev/tilwhen/apis/tilwhen-date-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tilwhen/apis/tilwhen-date-api/revisions/73e321edeaaa?raw)
