Pet-care marketplace research
Use Rover endpoints to turn pet-care marketplace research into repeatable API requests with documented inputs and JSON responses.
Turn Rover's public marketplace listings into structured JSON — sitter and dog-walker search by location and service type, dog-trainer search, and normalized provider profiles carrying name, photo, bio, star rating, review count, repeat-client count, and years of experience. Credential-free.
Search Rover's public pet sitters, dog walkers, and trainers by location, and get normalized provider profiles with ratings and experience as JSON.
Endpoint families
4
Documented params
14
Examples
4
Live catalog snapshot
Active endpoints
4
Methods
GET
Required params
9
Schema refs
4
{
"platform": "Rover",
"endpoint": "rover-sitter-search",
"method": "GET",
"path": "/rover/search",
"auth": "apiKey"
}Use cases
Search Rover's public pet sitters, dog walkers, and trainers by location, and get normalized provider profiles with ratings and experience as JSON.
Use Rover endpoints to turn pet-care marketplace research into repeatable API requests with documented inputs and JSON responses.
Use Rover endpoints to turn provider supply and pricing analysis into repeatable API requests with documented inputs and JSON responses.
Use Rover endpoints to turn local service coverage mapping into repeatable API requests with documented inputs and JSON responses.
Managed execution
Every figure below is read from the live Rover endpoint catalog — 4 endpoints, 14 documented request parameters, and 4 published response schemas — the same catalog Docs and Playground run against.
4 documented Rover endpoints, grouped into 4 request families — Search, Sitter and Trainer, plus 1 more.
14 request parameters are documented across those Rover endpoints, 9 of them required — the full input contract is public before you write any integration code.
4 of the 4 Rover endpoints ship a recorded example response, and 4 carry a documented response schema — you can code against the real JSON before the first request.
Rover endpoints document their error responses (400, 404, 500 and 503) alongside the success schema, so a block, a rate limit, or a missing record comes back as a typed error rather than silently empty data.
4 hosted MCP tools back the Rover endpoints, so an agent can call the same routes with the same parameters and the same JSON contract, with no custom glue.
Coverage map
These cards are generated from the active endpoint catalog, so the landing page reflects the same API surface used by Docs and Playground.
/rover/search
/rover/sitter/{slug}
/rover/trainer/{slug}
/rover/trainer-search
Endpoint catalog
/rover/searchSearches Rover's public sitter/walker listings by location and service type, returning normalized sitter summaries (name, profile image, rating, review count, repeat-client count, years of experience, neighborhood/city/state, starting price, Star Sitter status, and a short bio). Public data sourced from Rover's own server-rendered search pages.
Response notes
- `slug` and the trailing path segment of `profile_url` are the value [`GET /rover/sitter/{slug}`](rover-sitter-profile.md) needs for profile detail lookup. - Rover silently falls back to an IP-derived location instead of erroring when `location` cannot be geocoded. This endpoint detects that fallback and returns a `400` invalid-params error instead of returning results for the wrong location. - A genuine zero-result search returns `sitters: []` with a `200`, distinct from a parser-drift or blocked-page failure, which returns a `503` instead. - `dog-training` and `on-demand-grooming` are not supported service types: Rover routes them through separate, unresearched search flows. Example response: ```json { "code": 200, "msg": "OK", "data": { "location": "Seattle, WA", "service_type": "overnight-boarding", "page": 1, "per_page": 20, "total_count": 2515, "page_count": 126, "sitters": [ { "slug": "tianci-d-staycation-for-your-dog", "profile_url": "https://www.rover.com/members/tianci-d-staycation-for-your-dog/", "name": "Tianci D.", "profile_image": "https://www.rover.com/cf-image-cdn/remote/images/people/AP1xVWYN/hndsxqidyh/original?width=300&height=300&quality=70&fit=cover", "rating": 5.0, "review_count": 19, "repeat_client_count": 2, "years_experience": 20, "neighborhood": "Downtown", "city": "Seattle", "state": "WA", "zip": "98121", "starting_price": 69, "price_unit": "per night", "description": "I've cared for four dogs who all enjoyed long, happy lives past 17.", "is_star_sitter": true, "service_type": "overnight-boarding" } ] } } ```
MCP tool rover_sitter_search
/rover/sitter/{slug}Returns a normalized Rover sitter/walker profile: name, photo, bio, star rating, review count, repeat-client count, years of experience, neighborhood/city/state, starting price, Star Sitter status, the services offered with per-service pricing, and public review excerpts from the sitter's own profile page. Public data sourced from Rover's own server-rendered profile pages.
Response notes
- Location is normalized to neighborhood/city/state, matching what Rover's own profile page shows — never an exact street address. - `reviews` reflects only the excerpts already public on the sitter's own profile page carousel. This endpoint does not aggregate a sitter's full review history and does not touch Rover's `/members/reviews/*` path, which robots.txt disallows. - `services` lists every service the sitter offers with its own starting rate, not just the service type used to find them in search. Example response: ```json { "code": 200, "msg": "OK", "data": { "slug": "tianci-d-staycation-for-your-dog", "url": "https://www.rover.com/members/tianci-d-staycation-for-your-dog/", "name": "Tianci D.", "profile_image": "https://www.rover.com/cf-image-cdn/remote/images/people/AP1xVWYN/hndsxqidyh/original?width=450&height=450&quality=70&fit=cover", "bio": "I've cared for four dogs who all enjoyed long, happy lives past 17, and I'd love to give your pup the same gentle, loving attention on every walk.", "rating": 5.0, "review_count": 19, "repeat_client_count": 2, "years_experience": 20, "neighborhood": "Downtown", "city": "Seattle", "state": "WA", "starting_price": 69, "price_unit": "per night", "is_star_sitter": true, "services": [ {"name": "Boarding", "price": 69, "unit": "per night"} ], "reviews": [ { "reviewer": "Dustin Z.", "rating": 5.0, "service_type": "Doggy Day Care", "date": "Aug 28, 2026", "text": "Tianci and Ran are incredible! We are devastated they no longer do doggy daycare but we would 100% recommend them for boarding." } ] } } ```
MCP tool rover_sitter_profile
/rover/trainer-searchSearches Rover's public dog trainer listings by location, returning normalized trainer summaries (name, profile image, headline, experience details, rating, review count, repeat-client count, years of experience, city/state/zip, starting price, training methodology, and skill/behavior tags). Public data sourced from Rover's own server-rendered training search pages.
Response notes
- A genuine zero-result search returns `trainers: []` with a `200`, distinct from a parser-drift or blocked-page failure, which returns an error instead. - `starting_price` reflects a session's own base rate, not a package/bundle price. - The trailing path segment of a trainer's `profile_url` is what [`GET /rover/trainer/{slug}`](rover-trainer-profile.md) needs. Example response: ```json { "code": 200, "msg": "OK", "data": { "location": "Seattle, WA", "trainers": [ { "slug": "madison-h-over-6-years-of-pet-care-experience", "profile_url": "https://www.rover.com/training/members/madison-h-over-6-years-of-pet-care-experience/", "name": "Madison H.", "profile_image": "https://www.rover.com/cf-image-cdn/remote/images/people/Q9pOj7Pg/ahyvzcsdeh/original?width=450&height=450&quality=70&fit=cover", "headline": "Let's Make Training Fun!", "experience_details": "I am passionate about making training an enjoyable experience for both pets and their guardians!", "rating": 5.0, "review_count": 97, "repeat_client_count": 36, "years_experience": 2, "city": "Seattle", "state": "WA", "zip": "98103", "starting_price": 100, "price_unit": "per session", "methodology": "positive-reinforcement", "skills": ["puppy-training", "adult-dog-training", "clicker-training"], "behaviors": ["barking", "jumping", "leash-manners"] } ] } } ```
MCP tool rover_trainer_search
/rover/trainer/{slug}Returns a normalized Rover dog trainer profile: name, photo, headline, experience and availability details, training methodology, rating, review count, repeat-client count, years of training, skill/behavior tags, and education credentials. Public data sourced from Rover's own server-rendered training profile pages.
Response notes
- `rating`/`review_count`/`repeat_client_count` are aggregated across every service the trainer offers on Rover (not Dog Training alone), matching what the trainer's own profile page displays. - This endpoint does not aggregate a trainer's full review history and does not touch Rover's `/members/reviews/*` path, which robots.txt disallows. Example response: ```json { "code": 200, "msg": "OK", "data": { "slug": "madison-h-over-6-years-of-pet-care-experience", "url": "https://www.rover.com/training/members/madison-h-over-6-years-of-pet-care-experience/", "name": "Madison H.", "profile_image": "https://www.rover.com/cf-image-cdn/remote/images/people/Q9pOj7Pg/ahyvzcsdeh/original?width=450&height=450&quality=70&fit=cover", "headline": "Let's Make Training Fun!", "experience_details": "I am passionate about making training an enjoyable experience for both pets and their guardians!", "availability_details": "Dog training is my full-time job, so I have availability every day of the week!", "methodology": "positive-reinforcement", "methodology_details": "I have a positive reinforcement based training philosophy.", "rating": 5.0, "review_count": 97, "repeat_client_count": 36, "years_of_training": 2, "skills": ["Puppy training", "Adult dog training", "Clicker training"], "behaviors": ["Barking", "Jumping", "Leash manners"], "education": [ { "text": "Certified Professional Dog Trainer (CPDT-KA)", "organization": "Animal Behavior College" } ] } } ```
MCP tool rover_trainer_profile
Related APIs
Marketplaces & Retail
Collect marketplace product signals from Amazon without building brittle storefront scrapers.
Marketplaces & Retail
Build resale, pricing, and marketplace workflows from structured eBay data.
Marketplaces & Retail
Turn public Shop.app product and merchant pages into structured JSON for e-commerce product intelligence, price research, shop monitoring, and marketplace discovery workflows.
How to scrape Rover
Crawlora's Rover endpoints return normalized public Rover listing data as JSON with one API key — no Rover account required. Sitters/walkers and trainers are separate listing types with their own search and profile endpoints.
Call /rover/search with a location and service type for normalized pet-sitter and dog-walker summaries — name, profile image, headline facts, and the slug each profile lookup takes.
Pass a slug to /rover/sitter/{slug} for that provider's normalized profile: name, photo, bio, star rating, review count, repeat-client count, and years of experience.
Call /rover/trainer-search with a location for Rover's dog-trainer listings — a separate listing type from sitters and walkers, with its own summaries.
Pass a slug to /rover/trainer/{slug} for that trainer's normalized profile, including headline, experience and availability details, training methodology, and star rating.
FAQ
Call /rover/search for sitters and walkers or /rover/trainer-search for dog trainers, then /rover/sitter/{slug} or /rover/trainer/{slug} for one provider's normalized profile — all return structured JSON with one API key.
No — they are separate marketplaces on Rover with their own search and profile endpoints. Use /rover/search plus /rover/sitter/{slug} for pet sitters and dog walkers, and /rover/trainer-search plus /rover/trainer/{slug} for dog trainers.
Name, photo, bio, star rating, review count, repeat-client count, and years of experience for sitters and walkers; trainers additionally carry headline, availability details, and training methodology.
No — these endpoints read Rover's public listing pages, so one Crawlora API key is all that's required. Collect only public data you are authorized to use.