Rover APIrover.com ↗
Search Rover.com pet sitters by location and service type, retrieve full sitter profiles, and read paginated reviews via a structured JSON API.
What is the Rover API?
The Rover.com API exposes 3 endpoints covering sitter discovery, detailed profiles, and customer reviews from Rover.com. The search_sitters endpoint accepts a required location parameter plus optional filters for service type, dog size, and price range, returning up to 20 sitter summaries per page including name, rating, price, and available services. The other endpoints drill into individual sitter profiles and their reviews using identifiers returned by search.
curl -X GET 'https://api.parse.bot/scraper/a11c98e5-8455-43d3-a89e-82e47d253e42/search_sitters?page=1&dog_size=small&location=Seattle%2C+WA+98101&maxprice=100&minprice=20&service_type=boarding' \ -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 rover-com-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: Rover pet sitter SDK — search, profile, and reviews."""
from parse_apis.rover_com_api import Rover, ServiceType, DogSize, SitterNotFound
client = Rover()
# Search for boarding sitters in Seattle accepting medium dogs
for sitter in client.sitters.search(location="Seattle, WA 98101", service_type=ServiceType.BOARDING, dog_size=DogSize.MEDIUM, limit=5):
print(sitter.name, sitter.ratings_average, sitter.price, sitter.city)
# Drill into first result's reviews
sitter = client.sitters.search(location="10001", service_type=ServiceType.DOG_WALKING, limit=1).first()
if sitter:
for review in sitter.reviews.list(limit=3):
print(review.added, review.overall, review.description[:80] if review.description else "")
# Get a full sitter profile by slug
profile = client.sitter_profiles.get(slug="devan-h-senior-small-and-doodle-dude")
print(profile.first_name, profile.ratings_average, profile.reviews_count)
# Typed error handling for a missing sitter profile
try:
client.sitter_profiles.get(slug="nonexistent-sitter-slug-12345")
except SitterNotFound as exc:
print(f"Sitter not found: {exc}")
print("exercised: sitters.search / sitter.reviews.list / sitter_profiles.get")
Search for pet sitters near a given location. Supports filtering by service type, dog size, and price range. Results are paginated with 20 sitters per page. Each result includes the sitter's name, rating, price, location, description excerpt, and available services.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (1-based). |
| dog_size | string | Filter sitters by accepted dog size. |
| locationrequired | string | ZIP code or city/state (e.g. '98101' or 'Seattle, WA'). |
| maxprice | integer | Maximum price filter in USD. |
| minprice | integer | Minimum price filter in USD. |
| service_type | string | Type of pet care service to search for. |
{
"type": "object",
"fields": {
"page": "integer",
"results": "array of sitter summaries with name, price, rating, location, services",
"page_count": "integer",
"total_count": "integer"
},
"sample": {
"data": {
"page": 1,
"results": [
{
"zip": "98119",
"city": "Seattle",
"name": "Devan H.",
"price": "56.00",
"state": "WA",
"title": "Senior, Small, and Doodle Dude",
"web_url": "https://www.rover.com/members/devan-h-senior-small-and-doodle-dude/",
"distance": "1.7 mi. away",
"latitude": "47.630106",
"longitude": "-122.355175",
"person_opk": "AM1q07lA",
"price_unit": "night",
"description": "I've owned and cared for dogs, cats, ferrets...",
"review_text": "Devan was excellent with Pepper...",
"neighborhood": "Lower Queen Anne",
"currency_code": "USD",
"default_image": {
"small": "https://www.rover.com/cf-image-cdn/remote/images/people/AM1q07lA/kzhwvmgrxx/original?width=200&height=200&quality=70&fit=cover"
},
"is_best_match": null,
"reviews_count": 11,
"ratings_average": "5.0",
"engagement_signal": {
"id": "highly_responsive"
},
"browsable_services": [
"overnight-boarding",
"drop-in",
"doggy-day-care"
],
"cancellation_policy": "Cancel up to 1 day before.",
"years_of_experience": "5 years of experience"
}
],
"page_count": 132,
"total_count": 2630
},
"status": "success"
}
}About the Rover API
Sitter Search
The search_sitters endpoint takes a required location value (ZIP code or city/state string like 'Seattle, WA') and returns paginated results with total_count, page_count, and an array of sitter summaries. Each summary includes the sitter's name, price, rating, location, and listed services. Optional parameters narrow results by service_type, dog_size, minprice, and maxprice. The page parameter is 1-based, and each page delivers up to 20 results.
Sitter Profiles
The get_sitter_profile endpoint accepts a slug string taken from the web_url field in search results (e.g. 'devan-h-senior-small-and-doodle-dude'). The response includes the sitter's first_name, short_name, description, environment, availability, images_count, badges (verification badges), services array with names and pricing, and an attributes object covering capabilities like medication administration and specific animal experience. The opk field returned here is the identifier used to retrieve reviews.
Reviews and Ratings
The get_sitter_reviews endpoint takes a sitter's opk (available from both search results and profile responses) and returns paginated review objects. Each review includes rating, description, poster info, the service type under which the stay was booked, and the pets involved. The response also provides a distribution object mapping star ratings (1–5) to counts, plus total_ratings and total_text_reviews totals — useful for computing score distributions independent of review text.
The Rover API is a managed, monitored endpoint for rover.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when rover.com 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 rover.com 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 pet sitter comparison tool filtering by service type and price range using
search_sitters. - Aggregate Rover rating distributions across a city to surface top-rated sitters by neighborhood.
- Track sitter pricing trends over time by polling
search_sitterswithminprice/maxpricefilters. - Display verification badge status and sitter attributes (e.g. medication capability) in a third-party booking assistant.
- Analyze review sentiment by service type using the
servicefield returned in each review object. - Populate a local pet care directory with sitter descriptions, environment details, and availability text from
get_sitter_profile. - Monitor review volume growth for specific sitters by comparing
total_text_reviewsacross repeated calls toget_sitter_reviews.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Rover.com have an official developer API?+
What filters does `search_sitters` support and what does each result include?+
service_type, dog_size, minprice, maxprice, and page. Each result in the results array contains the sitter's name, price, rating, location, a description excerpt, and listed services. The web_url field in each result provides the slug needed for get_sitter_profile, and person_opk is the identifier for get_sitter_reviews.Can I retrieve booking availability calendars or contact sitters through this API?+
Does the reviews endpoint return all reviews at once?+
get_sitter_reviews is paginated using a 1-based page parameter. The response includes a count field for the current page, total_text_reviews for the full review corpus, and a distribution object so you can tally star-rating breakdowns without fetching every page.Does the API cover sitters for pets other than dogs?+
services array in profiles and the service_type filter in search are not dog-exclusive. However, the dog_size filter specifically targets dog-size preferences, and cat-specific or small-animal search filters are not currently a discrete parameter. You can fork the API on Parse and revise it to add more granular species-level filter parameters.