American Kennel Club API: Get dog breed
Gets an AKC dog breed profile by name or common nickname, with measurements, temperament, trait ratings, photo and profile link.
Unofficial. Not affiliated with or endorsed by American Kennel Club.
Inputs
Values from the run on Oct 23, 2026, shown under Output.
- Breed, required
breed Name or common nickname of a dog breed, for example Golden Retriever or Frenchie.
Golden Retriever
Input as JSON
{ "breed": "Golden Retriever"}Output
{ "energy": 3, "height": "23-24 inches (male), 21.5-22.5 inches (female)", "weight": "65-75 pounds (male), 55-65 pounds (female)", "barking": 1, "akc_link": "https://www.akc.org/dog-breeds/golden-retriever/" , "drooling": 2, "grooming": 2, "shedding": 4, "breed_name": "Golden Retriever", "breed_group": "Sporting Group", "description": "The Golden Retriever, an exuberant Scottish gundog of great beauty, stands among America's most popular dog breeds. They are serious workers at hunting and field work, as guides for the blind, and in search-and-rescue, enjoy obedience and other competitive events, and have an endearing love of life …", "temperament": "intelligent / friendly / devoted", "trainability": 5, "life_expectancy": "10-12 years", "photo_image_link": "https://www.akc.org/wp-content/uploads/2017/11/Golden-Retriever-wading-into-a-lake.jpg" , "height_max_inches": 24, "height_min_inches": 21.5, "weight_max_pounds": 75, "weight_min_pounds": 55, "good_with_other_dogs": 5, "affectionate_with_family": 5, "good_with_young_children": 5}Code
curl https://api.fous.com/v1/runs \ -H "Authorization: Bearer $FOUS_API_KEY" \ -H "Content-Type: application/json" \ -d '{"method":"akc.org/get_dog_breed","input":{"breed":"Golden Retriever"}}' # Save as fous.py, then run: python3 fous.pyimport json, os, timefrom urllib.error import HTTPErrorfrom urllib.request import Request, urlopenAPI = "https://api.fous.com/v1/runs" KEY = os.environ["FOUS_API_KEY"]HEADERS = { "Authorization": f"Bearer {KEY}", "Content-Type": "application/json" ,}def call(url, body=None): data = json.dumps(body).encode() if body else None request = Request(url, data, HEADERS) try: with urlopen(request, timeout=120) as r: return r.status, json.load(r) except HTTPError as error: message = json.load(error)["error"]["message"] raise RuntimeError(message) from errorstatus, run = call(API, { "method": "akc.org/get_dog_breed" , "input": { "breed": "Golden Retriever" }})# 202: still going after 30 s. Ask again until it ends.while status == 202: time.sleep(2) status, run = call(f"{API}/{run['id']}")print(json.dumps(run["data"], indent=2))// Save as fous.mjs, then run: node fous.mjsconst api = "https://api.fous.com/v1/runs" ;const headers = { Authorization: `Bearer ${process.env.FOUS_API_KEY}`, "Content-Type": "application/json" ,};let response = await fetch(api, { method: "POST", headers, body: JSON.stringify({ "method": "akc.org/get_dog_breed" , "input": { "breed": "Golden Retriever" } }), signal: AbortSignal.timeout(120_000),});let run = await response.json();// 202: still going after 30 s. Ask again until it ends.while (response.status === 202) { await new Promise((done) => setTimeout(done, 2_000)); response = await fetch(`${api}/${run.id}`, { headers }); run = await response.json();}if (!response.ok) throw new Error(run.error.message);console.log(run.data);# Connect your agent to Fous once, over MCP (Streamable HTTP):# https://api.fous.com/mcp# Set FOUS_API_KEY first: create a key at https://app.fous.com/keys.# Claude Codeclaude mcp add \ --scope user \ --transport http fous https://api.fous.com/mcp \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Codexcodex mcp add fous \ --url https://api.fous.com/mcp \ --bearer-token-env-var FOUS_API_KEY# Cursor, VS Code, Windsurf, Cline and morenpx -y add-mcp https://api.fous.com/mcp -g -n fous \ --header "Authorization: Bearer ${FOUS_API_KEY:?Set FOUS_API_KEY to your Fous API key}"# Then ask your agent:# "Use Fous to run akc.org/get_dog_breed# with {"breed":"Golden Retriever"}"Over HTTP, the answer’s data holds the output. A run still going after 30 seconds answers 202 with its id: ask GET /v1/runs/{id} until it ends.
Schema
Input schema
{ "type": "object", "required": [ "breed" ], "properties": { "breed": { "type": "string", "description": "Name or common nickname of a dog breed, for example Golden Retriever or Frenchie." } }}Output schema
{ "type": "object", "required": [ "breed_name", "breed_group", "description", "height", "weight", "life_expectancy", "temperament", "photo_image_link", "akc_link", "height_min_inches", "height_max_inches", "weight_min_pounds", "weight_max_pounds", "affectionate_with_family", "good_with_young_children", "good_with_other_dogs", "shedding", "grooming", "drooling", "trainability", "energy", "barking" ], "properties": { "energy": { "type": [ "integer", "null" ], "maximum": 5, "minimum": 1, "description": "AKC energy rating from 1 to 5." }, "height": { "type": [ "string", "null" ], "description": "AKC height as shown, including male and female figures." }, "weight": { "type": [ "string", "null" ], "description": "AKC weight as shown, including male and female figures." }, "barking": { "type": [ "integer", "null" ], "maximum": 5, "minimum": 1, "description": "AKC barking rating from 1 to 5." }, "akc_link": { "type": [ "string", "null" ], "description": "AKC breed profile link." }, "drooling": { "type": [ "integer", "null" ], "maximum": 5, "minimum": 1, "description": "AKC drooling rating from 1 to 5." }, "grooming": { "type": [ "integer", "null" ], "maximum": 5, "minimum": 1, "description": "AKC grooming rating from 1 to 5." }, "shedding": { "type": [ "integer", "null" ], "maximum": 5, "minimum": 1, "description": "AKC shedding rating from 1 to 5." }, "breed_name": { "type": [ "string", "null" ], "description": "Breed name." }, "breed_group": { "type": [ "string", "null" ], "description": "Breed group." }, "description": { "type": [ "string", "null" ], "description": "Description." }, "temperament": { "type": [ "string", "null" ], "description": "Temperament." }, "trainability": { "type": [ "integer", "null" ], "maximum": 5, "minimum": 1, "description": "AKC trainability rating from 1 to 5." }, "life_expectancy": { "type": [ "string", "null" ], "description": "Life expectancy." }, "photo_image_link": { "type": [ "string", "null" ], "description": "Link to the breed photo on AKC." }, "height_max_inches": { "type": [ "number", "null" ], "description": "Height max inches across AKC height or weight figures." }, "height_min_inches": { "type": [ "number", "null" ], "description": "Height min inches across AKC height or weight figures." }, "weight_max_pounds": { "type": [ "number", "null" ], "description": "Weight max pounds across AKC height or weight figures." }, "weight_min_pounds": { "type": [ "number", "null" ], "description": "Weight min pounds across AKC height or weight figures." }, "good_with_other_dogs": { "type": [ "integer", "null" ], "maximum": 5, "minimum": 1, "description": "AKC good with other dogs rating from 1 to 5." }, "affectionate_with_family": { "type": [ "integer", "null" ], "maximum": 5, "minimum": 1, "description": "AKC affectionate with family rating from 1 to 5." }, "good_with_young_children": { "type": [ "integer", "null" ], "maximum": 5, "minimum": 1, "description": "AKC good with young children rating from 1 to 5." } }}- Price
- 1 credit per completed run (1¢ with pay as you go); failed runs are free.
- Method
akc.org/get_dog_breed- Returns
- breed name, group, description, height, weight, life expectancy, temperament, trait ratings, photo, AKC link
Use it from your agent
Give your agent this line. It reads SKILL.md, gets a Fous API key and connects the Fous MCP server. Its run then takes the method akc.org/get_dog_breed with the inputs above.
Ask your agent
- What's the typical height and weight of a Frenchie?
- Show me the temperament and trait ratings for Golden Retriever on akc.org
- I'm thinking about adopting a Doberman, what's its life expectancy and group?
- Can you pull up the breed profile for a Cavalier King Charles Spaniel, including a photo?
- Give me the AKC profile for a Shih Tzu with its description and link
See more
Finds a UFC fighter by name or nickname and returns their profile: record, ranking, physical details, win methods and fight statistics. Missing profile values are null.
ufc.com/get_fighterGets a public Mastodon profile by handle or profile link, with its bio, counts, dates and profile fields. Major servers are read directly. Other servers are looked up through mastodon.social, and their home-server account ID is not available.
mastodon.social/get_profileGets a restaurant's public OpenTable profile by name or OpenTable link and city, including ratings, details, menu and photo links. Ratings and other fields can be missing when the restaurant does not publish them.
opentable.com/get_restaurantLooks up an NBA player by name, including retired players, and returns the bio and regular-season per-game averages for the reported season and career.
nba.com/get_playerGets the public X profile for a username or profile link, including counts, verification, images and account details. Does not include posts or a timeline.
x.com/get_profileGets a TikTok creator's public profile and totals (followers, following, likes, videos) from a username, @handle or profile link. Profiles not visible to public visitors cannot be returned.
tiktok.com/get_profileLooks up a Ballotpedia candidate or officeholder profile by name, with election results, background and published links. An optional state narrows people with the same name; unreported details are left blank.
ballotpedia.org/get_candidateGets a Chess.com player's public profile, ratings and game records, best puzzle rating and Puzzle Rush best score from a username or member profile link.
chess.com/get_player_stats