canonical: https://jentic.com/apis/dog.ceo/dog

# Dog Ceo Dog API

Jentic publishes the only available OpenAPI specification for the Dog API, keeping it validated and agent-ready. The Dog API serves open-source dog photos as JSON image URLs. It lists every dog breed and its sub-breeds, returns all images for a breed or sub-breed, and returns a single random image or a batch of random images across all breeds. It is free and needs no authentication.

## For AI agents

Fetch open-source dog photos as image URLs: list breeds and sub-breeds, get all images for a breed, or return one or many random dog images, with no authentication.

## Scope

Does not handle image editing, breed facts, or user uploads. Use for fetching dog breed images and breed lists only.

## Capabilities

- List every available dog breed and its sub-breeds
- Fetch a random dog image from all breeds
- Fetch one or many random images for a specific breed
- Retrieve all images for a given breed or sub-breed
- Get a random image for a specific sub-breed

## Use cases

### Agent Dog Image Fetching

An AI agent building a pet-themed response or placeholder can fetch a random dog image or pull every image for a named breed from the Dog API. Because the API is free and needs no key, the agent can request images directly without a setup step.

Example prompt: List all breeds, then fetch a random image for a chosen breed

### Breed and Sub-Breed Browser

An app showing a dog breed directory can list all breeds and their sub-breeds and then load images for each using the Dog API. The breed and sub-breed endpoints let the agent build a browsable gallery.

Example prompt: List the sub-breeds of a breed and retrieve all images for one sub-breed

### Placeholder and Sample Images

Prototyping and testing workflows can pull one or many random dog images from the Dog API to use as sample content. The multiple-random endpoints return a batch of image URLs in a single request.

Example prompt: Fetch a batch of random dog images for use as placeholder content

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/breeds/list/all` | List all breeds |
| GET | `/breeds/image/random` | Random image from all breeds |
| GET | `/breeds/image/random/{count}` | Multiple random images from all breeds |
| GET | `/breed/{breed}/images` | All images from a breed |
| GET | `/breed/{breed}/images/random` | Random image from a breed |
| GET | `/breed/{breed}/list` | List sub-breeds |
| GET | `/breed/{breed}/{subBreed}/images` | All images from a sub-breed |

## Key resources

- **Breeds** — List all breeds and the sub-breeds of a given breed
- **Breed images** — Retrieve all or random images for a breed or sub-breed
- **Random images** — Return one or many random images across all breeds

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 68 / 100
- **Maturity:** AI-Aware
- **Dimensions:**
  - Foundational Compliance: 100 / 100
  - Developer Experience & Jentic Compatibility: 56 / 100
  - AI-Readiness & Agent Experience: 47 / 100
  - Agent Usability: 94 / 100
  - Security: 100 / 100
  - AI Discoverability: 66 / 100
- **View full report:** https://jentic.com/apis/dog.ceo/dog/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring the Dog API by hand means learning its breed and sub-breed image endpoints and the random-count variants. Through Jentic you install once, import the Dog API from the API Directory, and your agent calls it.
- **Permission scoping:** The Dog API is read-only and needs no credential, but a Jentic rule still bounds which operations your agent may call. Limit it to the image and breed-list operations it needs, and leave the rest out unless you add them.
- **Credential handling:** The Dog API needs no credential, so there is nothing to inject at call time. When you connect APIs that do require keys through Jentic, those keys are handled by your own Jentic One instance and never enter the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'get a random dog image' or 'list all dog breeds', and Jentic returns the matching Dog API operation with its input schema so the agent calls the right endpoint without reading the reference docs.

## Related APIs

- **Pexels** — Pexels serves free stock photos and videos, a broader free image source than the Dog API's dog photos.
- **RoboHash** — RoboHash generates unique avatar images, complementing the Dog API's photo collection for placeholder content.
- **GIPHY** — GIPHY returns animated GIFs that complement the Dog API's static dog images.

## FAQ

### Why is there no official OpenAPI spec for the Dog API?

Dog CEO does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call the Dog API via structured tooling. It is validated against the live API and kept up to date. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### Does the Dog API require authentication?

No. The Dog API is free and its OpenAPI spec declares no authentication, so requests need no key or token. Through Jentic the API behaves the same way, and when you add APIs that do require credentials, those are handled by your own Jentic One instance.

### Can I get images for a specific breed with the Dog API?

Yes. The Dog API returns all images for a breed, a single random image, or a batch of random images, and the same operations exist for sub-breeds. You can list all breeds first to get valid breed names.

### What are the rate limits for the Dog API?

The OpenAPI spec does not specify rate limits for the Dog API. Check the provider's documentation at https://dog.ceo/dog-api for current usage guidance.

### Can I limit what my agent is allowed to do with the Dog API?

Yes. Even though the API needs no credential, a Jentic rule still bounds which operations your agent may call. Write a rule that allows only the image and breed-list operations the agent needs, and leave the rest out unless you add them, and every call it makes is logged.

### How do I fetch a dog image with the Dog API through Jentic?

Search Jentic for 'get a random dog image' and it returns the matching Dog API operation with its input schema. Import the Dog API from the Jentic API Directory, and because it needs no credential your agent can list breeds and fetch images right away.

### Is there a Dog API MCP server?

You don't need an MCP server to give your agent the Dog API. Jentic connects it directly from the API Directory: import it and your agent calls the breed and image operations with no key to manage. Nothing extra loads into the agent's context until an operation is actually used.
