Animals — entry 005 of 20

Dog Facts

Verified Sep 2026

This project ("Dog API by kinduff") started in 2016 as a small Sinatra service at dog-api.kinduff.com; that original endpoint is now broken — it responds but always returns an empty fact list — and has been superseded by a rebuilt V2 API at dogapi.dog, which is what backs this entry now. The live JSON:API-formatted /api/v2/facts endpoint returns one or more random dog facts with no signup or key required. It also lists 283 dog breeds and 9 breed groups; the maintainer funds hosting through voluntary Buy Me a Coffee donations rather than a paid tier.

Dog API by kinduff serves random dog facts and a catalogue of 283 dog breeds. All responses use the JSON:API format. A GET call to /facts returns one or more facts. A separate /breeds endpoint pages through the catalogue. It needs no signup or key, and donations fund the hosting.

dog-factstriviajson-apikeyless
AuthenticationNone requiredCall it straight away — no key, no signup.
HTTPSSupportedTraffic is encrypted in transit.
CORSEnabledCallable directly from browser JavaScript.
PricingFreeNo paid tier — free for the documented use case.
FormatsJSONResponses can be requested as JSON.

GreatAPIs Score

Score94out of 100
Authentication25/25No authentication required
Pricing20/20Free to use
Docs20/20Machine-readable spec file bundled
Formats9/15Single response format
Freshness20/20Verified within 6 months

Embed this badge

Scored 94 on greatapis.com
<a href="https://greatapis.com/api/dog-facts-animals/"><img src="https://greatapis.com/badge/dog-facts-animals.svg" alt="Scored 94 on greatapis.com"></a>

Auth quickstart

  1. No API key required — requests are public and keyless.
Stored keyNo key stored

Your key is stored only in this browser (localStorage) and sent directly to the API — never to greatapis.

Endpoints

Servers
https://dogapi.dog/api/v2
Breeds4

Over 340 dog breeds, each one belonging to a group.

GET/breedslist breeds
Parameters
NameInRequiredType
page[number]querynointeger
page[size]querynointeger
filter[has_images]querynoboolean
Responses
StatusDescriptionSchema
200successfulBreedCollection
GET/breeds/imageget a random breed image
Parameters
NameInRequiredType
sizequerynostring
Responses
StatusDescriptionSchema
302redirect to the image file—
404no images have been imported—
GET/breeds/{id}get breed
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200successfulBreedResource
404no breed with that id—
GET/breeds/{id}/imageget breed image
Parameters
NameInRequiredType
idpathyesstring
sizequerynostring
randomquerynoboolean
Responses
StatusDescriptionSchema
302redirect to the image file—
404the breed has no images, or does not exist—
Groups2

The breed groups, each one listing the breeds it contains.

GET/groupslist groups
Parameters
NameInRequiredType
page[number]querynointeger
page[size]querynointeger
Responses
StatusDescriptionSchema
200successfulGroupCollection
GET/groups/{id}get group
Parameters
NameInRequiredType
idpathyesstring
Responses
StatusDescriptionSchema
200successfulGroupResource
404no group with that id—
Facts1

Random dog facts.

GET/factslist facts
Parameters
NameInRequiredType
limitquerynointeger
Responses
StatusDescriptionSchema
200successfulFactCollection

Try it

Developer reference

Base URLhttps://dogapi.dog/api/v2
Rate limit

60 requests/minute per client

Key endpoints
  • GET/facts
  • GET/breeds
  • GET/groups

Gotchas & limits

  • The response is JSON:API, not plain JSON. Each fact sits under data[].attributes.body. The content type is application/vnd.api+json (confirmed live).
  • Add ?limit=N to get more than one fact per call. Confirmed live: /facts?limit=2 returned two entries in the data array.
  • GET /breeds does not return all 283 breeds at once. It returns 30 per page (confirmed live: page 1 of 10). Use ?page[number]= to step through the pages. Use ?page[size]= to change the page size. Confirmed live: page[size]=2 returned 2 records across 142 pages.
  • Pagination data lives in meta.pagination (current, next, last, records). A matching links object holds the page URLs (self, current, next, last). Both were confirmed live.

Availability

Uptime100%
Median latency759.5 ms
Last checkUp · 200 · Sep 2026

16 checks since Aug 2026. A person runs this check by hand, not an automated monitor.