BYTETOOLS

HTTP Dog API

Free HTTP status code API with no key: a dog photo for every HTTP status, as JSON metadata or direct images in JPG, WebP and AVIF. Tested example.

No API key requiredHTTPSFree tier

Endpoint tested and returned HTTP 200 on 2026-08-20

What is the HTTP Dog API?

HTTP Dog is a free, key-free service providing a dog photograph for every HTTP status code, available as a direct image in JPG, WebP or AVIF, or as JSON metadata describing the status.

HTTP Dog pairs every HTTP status code with a dog photo — the canine counterpart to HTTP Cat. Beyond the joke, it is genuinely handy for documentation and error pages, where a memorable image beats a bare number.

The JSON endpoint is the useful part for developers: request `/404.json` and you get the status code, its official title and image URLs in three formats, so you can render an error page programmatically with the right modern image format.

Quick facts

Base URL
https://http.dog
Authentication
No API key required.
Rate limit
No published limit; images are CDN-served.
Pricing
Free.
CORS
Not enabled — call it from your server
Official docs
Read the docs

How to use the HTTP Dog API

Every request below was executed against the live API on 2026-08-20, and the response shown is the real body it returned — not an illustration.

1. Fetch status code metadata

GET https://http.dog/200.json

curl
curl 'https://http.dog/200.json'
JavaScript (fetch)
const res = await fetch("https://http.dog/200.json");
if (!res.ok) throw new Error(`Request failed: ${res.status}`);
const data = await res.json();
console.log(data);
Python (requests)
import requests

res = requests.get("https://http.dog/200.json", timeout=20)
res.raise_for_status()
print(res.json())
Response — HTTP 200
{
  "status_code": 200,
  "title": "OK",
  "url": "https://http.dog/200",
  "image": {
    "jpg": "https://http.dog/200.jpg",
    "webp": "https://http.dog/200.webp",
    "avif": "https://http.dog/200.avif",
    "jxl": "https://http.dog/200.jxl"
  }
}

Parameters

ParameterTypeRequiredDescription
<code>.jsonpathOptionalJSON metadata for a status code. 200.json
<code>.jpgpathOptionalDirect JPG image. 404.jpg
<code>.webppathOptionalWebP image, smaller than JPG. 500.webp
<code>.avifpathOptionalAVIF image, smallest of the three. 418.avif

Response fields

status_codeinteger
The HTTP status code.
titlestring
Official status text, e.g. 'Not Found'.
urlstring
Canonical page for this status.
imageobject
Image URLs in jpg, webp and avif formats.

What you can build with the HTTP Dog API

  • Make error pages memorable with a status-specific image
  • Illustrate HTTP status codes in documentation
  • Teach HTTP semantics in a workshop
  • Test image format support across browsers

Common errors and how to fix them

404 for an unusual code

Only standard HTTP status codes have images.

Fix: Fall back to a generic image for non-standard codes.

Which format to use

Three image formats are offered.

Fix: AVIF is smallest, WebP is widely supported, JPG is universal. Use a picture element with fallbacks.

HTTP Dog API — frequently asked questions

Is HTTP Dog free?

Yes, completely free with no API key.

How is it different from HTTP Cat?

Same concept with dogs instead of cats, but HTTP Dog additionally offers a JSON endpoint and modern image formats including WebP and AVIF.

Which image format should I use?

AVIF is smallest but has narrower support; WebP is a good default; JPG is universal. A picture element with all three gives the best of each.

Can I use it on a production error page?

Yes, it is free to use, though for a production site you would normally self-host the images rather than depending on a third party for your error page.

Tools that pair with this API

HTTP Dog is an independent third-party service and is not affiliated with ByteTools or ByteVancer. Details on this page were verified on 2026-08-20; always check the official documentation before relying on this API in production, as terms and limits can change.