AH Connects APIahconnects.org ↗
Search adoptable animals at Anderson Humane via the AH Connects API. Filter by name or species; get breed, age, location, and photo data per pet.
What is the AH Connects API?
The AH Connects API provides one endpoint — search_pets — that returns up to 10 fields per animal from Anderson Humane's live adoption listings. Query by pet name substring, species, or both to retrieve matching animals with breed, sex, age group, color, location, attributes, photo URL, and a direct link to each pet's public adoption profile.
curl -X GET 'https://api.parse.bot/scraper/04b1cb2a-6639-4dfe-8a56-ffb8fb246c60/search_pets?name=Sam&breed=Shorthair&species=Cat' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace ahconnects-org-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: AH Connects SDK — bounded, re-runnable; every call capped."""
from parse_apis.AH_Connects_Pet_Adoption_API import AHConnects, Species, ParseError
client = AHConnects()
# Search for cats with a specific breed substring
for pet in client.pets.search(species=Species.CAT, breed="Shorthair", limit=3):
print(pet.name, pet.breed, pet.age_group)
# Combine name and species filters
result = client.pets.search(name="Sam", species=Species.CAT, limit=1).first()
if result:
print(result.id, result.name, result.species, result.primary_color)
# Typed error handling
try:
for pet in client.pets.search(name="Rex", species=Species.DOG, limit=2):
print(pet.name, pet.breed, pet.sex)
except ParseError as e:
print("error:", e)
print("exercised: pets.search")
Search available pets for adoption at Anderson Humane. Returns all matching animals filtered by name (substring match), species, and/or breed. Results are returned in a single page containing all matches. Each pet includes breed, sex, age group, color, location, attributes, and a cover photo URL.
| Param | Type | Description |
|---|---|---|
| name | string | Filter pets whose name contains this substring (case-insensitive). Omit to return all pets. |
| breed | string | Filter pets whose breed contains this substring (case-insensitive). Matches against both primary and secondary breed fields. Omit to return all breeds. |
| species | string | Filter by species (case-insensitive). Known values from the site include Cat, Dog, Bird, Gerbil, Guinea Pig, Rabbit, Rat, Snake. Omit to return all species. |
{
"type": "object",
"fields": {
"pets": "array of pet objects with id, name, species, breed, sex, age_group, colors, location, attributes, photo_url, and public_url",
"total": "integer count of matching pets"
},
"sample": {
"data": {
"pets": [
{
"id": "AHC-A-180724",
"sex": "Female",
"name": "Sam",
"breed": "American Shorthair",
"species": "Cat",
"location": "Foster Home",
"age_group": "Adult Cat",
"photo_url": "https://new-s3.shelterluv.com/profile-pictures/a18ae4dd055ade48ad3c7bc2dce0e55f/b66bc253cce7824bbc5dbcb22d0d071b.jpg",
"attributes": [],
"public_url": "https://www.shelterluv.com/embed/animal/AHC-A-180724",
"primary_color": "Brown",
"secondary_breed": null,
"secondary_color": "Black"
}
],
"total": 1
},
"status": "success"
}
}About the AH Connects API
What the API Returns
The search_pets endpoint returns all adoptable animals currently listed at Anderson Humane that match your filters. Each pet object includes id, name, species, breed, sex, age_group, colors, location, attributes, photo_url, and public_url. The total field in the response gives an integer count of matching animals, useful for quick availability checks without iterating the full pets array.
Filtering Options
Two optional query parameters are available. The name parameter performs a case-insensitive substring match against pet names — passing "golden" would match any animal whose name contains that string. The species parameter filters by species category; known values from the source include Cat, Dog, Bird, Gerbil, and Guinea Pig. Both parameters can be combined in a single request. Omitting both returns all currently available animals across all species.
Pagination and Data Scope
Results are returned in a single response — there is no cursor, page number, or offset parameter. This means a request with no filters returns every available animal in one payload. The attributes field on each pet object captures additional descriptive tags (such as house-trained status or compatibility notes) where the source provides them. The location field reflects the animal's current placement within Anderson Humane's facilities.
The AH Connects API is a managed, monitored endpoint for ahconnects.org — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when ahconnects.org changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official ahconnects.org API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a species-filtered adoption browsing widget using the
speciesparameter to show only dogs or cats - Send daily availability alerts by comparing
totalcounts across repeatedsearch_petscalls - Display pet profile cards using
photo_url,breed,age_group, andpublic_urlfor adoption landing pages - Power a name-search feature so shelter visitors can look up a specific animal by partial name
- Aggregate animal attribute data from the
attributesfield to surface pets tagged as good with kids or other animals - Track shelter inventory trends by logging
totalcounts over time by species
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Anderson Humane have an official developer API?+
What does `search_pets` return for each animal?+
id, name, species, breed, sex, age_group, colors, location, attributes, photo_url, and public_url. The response also includes a top-level total field with the count of matching animals.Does the API support filtering by age group, color, or attributes?+
name (substring) and species only. Age group, color, sex, and attributes are returned in the response fields but cannot be used as query filters. You can fork this API on Parse and revise it to add those filter parameters.Does the API return animals from multiple shelter locations or just one?+
location field indicating placement within the organization's facilities, but the data scope is limited to Anderson Humane. Animals from other shelters or regional networks are not included. You can fork this API on Parse and revise it to target additional shelter sources.Are there pagination controls for large result sets?+
name and species — the full available inventory is returned at once in the pets array.