canonical: https://jentic.com/apis/adoptapet.com/adoptapet

# Adopt-a-Pet.com Pet List API

Jentic publishes the only available OpenAPI specification for the Adopt-a-Pet.com Pet List API, keeping it validated and agent-ready. The API exposes 6 read-only endpoints for searching adoptable pets, fetching pet and shelter details, listing pets at a specific shelter, searching for shelters, and retrieving the breed list. Use it to power pet-adoption discovery experiences, shelter directories, or AI assistants that surface adoptable animals near a location. Authentication is by API key passed as the 'key' query parameter.

## For AI agents

Search Adopt-a-Pet.com for adoptable pets, fetch pet and shelter details, list pets at a shelter, and retrieve the supported breed list.

## Scope

Does not handle adoption applications, donations, or pet veterinary records - use for read-only adoptable-pet, shelter, and breed lookup only.

## Capabilities

- Search for adoptable pets by species, breed, gender, age, and ZIP/postal code radius
- Retrieve full details for a specific pet listing including photos, age, and shelter contact
- List every adoptable pet at a given shelter or rescue organisation
- Search for shelters and rescues by location and species supported
- Retrieve full details for a specific shelter including address and contact info
- Get the supported breed list for dogs, cats, and other species used in search filters

## Use cases

### Pet Adoption Discovery for Consumer Apps

Pet-focused consumer apps power location-based search for adoptable animals using GET /pet_search with species, breed, age, and ZIP filters. Results include enough metadata to render rich listing cards without follow-up calls. The API is read-only and well-suited to public-facing discovery experiences.

Example prompt: Call GET /pet_search with species=cat, age=adult, geo_range=10, postal=02139 and return the first 20 results

### Shelter Directory and Profile Pages

Animal-welfare directories list shelters and rescues by region using GET /shelter_list and render per-shelter pages with GET /shelter_details. Together with GET /pet_list, the API powers a complete browse-by-shelter experience without scraping the Adopt-a-Pet website.

Example prompt: Pull all rescues that accept rabbits within 50 miles of postal 02139 via GET /shelter_list, then for each call GET /shelter_details to enrich the listing

### Conversational Pet-Finder Assistants

AI assistants helping families adopt a pet use the search and detail endpoints to answer natural-language requests like 'find me a senior small dog near 02139'. Because there are only 6 endpoints, intent matching maps cleanly to the right call without complex routing logic.

Example prompt: Translate the user's natural-language pet criteria into a /pet_search query, run it, and present the top 5 matches with photos and shelter info

### Agent-Driven Pet Discovery via Jentic

Jentic exposes the Adopt-a-Pet endpoints as discoverable tools so an agent can search, retrieve detail, and chain calls without bespoke integration work. The API key sits in your Jentic One instance rather than in the agent's prompt, which matters because the key is bound to a partner account.

Example prompt: Search Jentic for 'adoptapet pet search', load GET /pet_search, and execute it with species=dog and postal=02139

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /pet_search | Search adoptable pets |
| GET | /pet_details | Get details for a specific pet |
| GET | /pet_list | List pets at a shelter |
| GET | /shelter_list | Search shelters and rescues |
| GET | /shelter_details | Get details for a specific shelter |
| GET | /breed_list | Get breeds for a species |

## Key resources

- **Pet Search** — Search adoptable pets by species, breed, age, gender, and location
- **Pet Details** — Retrieve full information for a specific pet listing
- **Pet List** — List all pets currently at a given shelter
- **Shelter Search** — Find shelters and rescues by location and species supported
- **Shelter Details** — Retrieve full information for a specific shelter
- **Breed List** — Retrieve the supported breeds used in search filters

## Why Jentic

- **Setup:** Wiring the Adopt-a-Pet.com Pet List API by hand means handling its query-parameter key auth and building your own search and detail calls. Through Jentic you install once, import Adopt-a-Pet.com from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Adopt-a-Pet.com takes its lookups in query parameters rather than a resource id in the URL path, so you limit the agent to the operations it needs, such as searching adoptable pets or looking up a shelter. Every operation on this surface is read-only, so the agent looks up data without changing it.
- **Credential handling:** Your Adopt-a-Pet.com API key is stored once, encrypted, by your own Jentic One instance and injected into the key query parameter at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'find adoptable dogs near a zip code' or 'look up a shelter', and Jentic returns the matching Adopt-a-Pet.com operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Petfinder API** — Petfinder's adoptable-pet search API covering shelters across North America.
- **X (Twitter) API** — Social distribution channel for sharing adoptable-pet listings.
- **Mailchimp API** — Email platform for sending adoption newsletters featuring API-sourced pet listings.

## FAQ

### Why is there no official OpenAPI spec for the Adopt-a-Pet.com Pet List API?

Adopt-a-Pet.com publishes API documentation but does not ship an OpenAPI specification. Jentic generates and maintains this spec from the published partner documentation so AI agents and developers can call it via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Adopt-a-Pet.com Pet List API use?

The API uses an API key passed in the 'key' query parameter on every request. The key is provisioned by Adopt-a-Pet.com to approved partners. Through Jentic, the key is stored encrypted in the vault and never appears in the agent's prompt context.

### Can I search adoptable pets by location with the Adopt-a-Pet.com API?

Yes. GET /pet_search accepts a postal code and a geo_range radius along with species, breed, age, and gender filters. The response returns matching pet listings with enough metadata to render full listing cards.

### How do I list pets at a specific shelter with the Adopt-a-Pet.com API through Jentic?

Search Jentic for 'adoptapet pets at shelter', load GET /pet_list, and execute it with the shelter ID. Pair this with GET /shelter_details if you need the full shelter profile alongside the pets.

### What are the rate limits for the Adopt-a-Pet.com Pet List API?

The OpenAPI specification does not publish numeric rate limits. Adopt-a-Pet enforces fair-use limits as part of partner agreements; HTTP 429 responses indicate throttling. Through Jentic, retries with backoff can be configured in the execution request.

### Is the Adopt-a-Pet.com Pet List API free?

Access is granted to approved partners (shelters, rescue organisations, and integrators) and is not a self-serve public API. Pricing or partner terms are arranged with Adopt-a-Pet.com directly. Jentic handles credential storage once you have a key.

### Can I limit what my agent is allowed to do with the Adopt-a-Pet.com Pet List API?

Yes. Because you run Jentic One yourself, your own rules decide which of the six Adopt-a-Pet.com operations your agent may call, so you can allow only pet search and shelter lookup while blocking the rest. All lookups take their inputs as query parameters rather than a resource ID in the URL path, which keeps each permitted operation cleanly scoped to what the agent actually needs. Every operation on this API is read-only, so a permitted agent can retrieve adoptable-pet, shelter, and breed data without changing anything.
