Rover API endpoint
Searches Rover's public sitter/walker listings by location and service type, returning 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).
/rover/searchQuery parameters:
location (required) — free-text address, city, or zip code, e.g.
Seattle, WA or 98121. Rover geocodes it server-side.service_type (required) — one of overnight-boarding,
overnight-traveling, drop-in, doggy-day-care, dog-walking.page (optional) — 1-based result page. Defaults to 1.pet_type (optional) — one of dog, cat.min_price (optional) — minimum starting rate in whole dollars.max_price (optional) — maximum starting rate in whole dollars.star_sitter_only (optional) — restrict results to Rover's "Star Sitter"
badge holders. true or false.Notable response behavior:
slug and the trailing path segment of profile_url are the value
GET /rover/sitter/{slug} needs for profile
detail lookup.location cannot be geocoded. This endpoint detects that fallback
and returns a 400 invalid-params error instead of returning results for
the wrong location.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.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| slug | 20 | |
| profile_url | 20 | rover.com |
| name | 20 | |
| profile_image | 20 | rover.com |
| rating | 20 | 4.9 to 5, median 5 |
| review_count | 20 | 12 to 205, median 32 |
| repeat_client_count | 20 | 3 to 60, median 10 |
| years_experience | 20 | 1 to 55, median 15 |
| neighborhood | 20 | |
| city | 20 | |
| state | 20 | |
| zip | 20 | |
| starting_price | 20 | 40 to 90, median 65 |
| price_unit | 20 | |
| description | 20 | median 1,187 characters |
| is_star_sitter | 17 | true in 17 of 17 |
| service_type | 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| location | string | Yes | Free-text address, city, or zip code, e.g. \ | Seattle, WA | |
| service_type | string | Yes | Service category to search. One of: `overnight-boarding`, `overnight-traveling`, `drop-in`, `doggy-day-care`, `dog-walking`. | overnight-boarding | |
| page | integer | No | 1 | 1-based result page. Defaults to 1. | 1 |
| pet_type | string | No | Filter by pet species. One of: `dog`, `cat`. | dog | |
| min_price | integer | No | Minimum starting rate in whole dollars. | 20 | |
| max_price | integer | No | Maximum starting rate in whole dollars. | 100 | |
| star_sitter_only | boolean | No | Restrict results to Rover's \ | false | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/rover/search?location=Seattle%2C+WA&service_type=overnight-boarding&page=1&star_sitter_only=true" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"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,
"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"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/rover.searchResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | rover.SearchResponse | No | ||||
| data.location | string | No | ||||
| data.page | integer | No | ||||
| data.page_count | integer | No | ||||
| data.per_page | integer | No | ||||
| data.service_type | string | No | ||||
| data.sitters | array | No | ||||
| data.sitters[].city | string | No | ||||
| data.sitters[].description | string | No | ||||
| data.sitters[].is_star_sitter | boolean | No | ||||
| data.sitters[].name | string | No | ||||
| data.sitters[].neighborhood | string | No | ||||
| data.sitters[].price_unit | string | No | ||||
| data.sitters[].profile_image | string | No | ||||
| data.sitters[].profile_url | string | No | ||||
| data.sitters[].rating | number | No | ||||
| data.sitters[].repeat_client_count | integer | No | ||||
| data.sitters[].review_count | integer | No | ||||
| data.sitters[].service_type | string | No | ||||
| data.sitters[].slug | string | No | ||||
| data.sitters[].starting_price | number | No | ||||
| data.sitters[].state | string | No | ||||
| data.sitters[].years_experience | integer | No | ||||
| data.sitters[].zip | string | No | ||||
| data.total_count | integer | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/rover/search?location=Seattle%2C+WA&service_type=overnight-boarding&page=1&star_sitter_only=true" \
-H "x-api-key: $CRAWLORA_API_KEY"