Rover API endpoint
Returns a 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.
/rover/trainer/{slug}Path parameters:
slug (required) — the trailing path segment of a trainer's profile URL,
e.g. from a trainer search result's profile_url field
(https://www.rover.com/training/members/<slug>/).Notable response behavior:
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.| Field | In the sample | Value in the sample |
|---|---|---|
| slug | Has a value | |
| url | Has a value | rover.com |
| name | Has a value | |
| profile_image | Has a value | rover.com |
| headline | Has a value | |
| experience_details | Has a value | 457 characters |
| availability_details | Has a value | 330 characters |
| methodology | Has a value | |
| methodology_details | Has a value | 293 characters |
| rating | Has a value | 5 |
| review_count | Has a value | 113 |
| repeat_client_count | Has a value | 36 |
| years_of_training | Has a value | 2 |
| skills | Has a value | 3 entries |
| behaviors | Has a value | 14 entries |
| education | Has a value | 2 entries |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| slug (path) | string | Yes | Rover trainer profile slug, the trailing path segment of a trainer search result's profile_url field | madison-h-over-6-years-of-pet-care-experience | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/rover/trainer/madison-h-over-6-years-of-pet-care-experience" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"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,
"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"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/rover.trainerProfileResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | rover.TrainerProfileResponse | No | ||||
| data.availability_details | string | No | ||||
| data.behaviors | array | No | ||||
| data.education | array | No | ||||
| data.education[].organization | string | No | ||||
| data.education[].text | string | No | ||||
| data.experience_details | string | No | ||||
| data.headline | string | No | ||||
| data.methodology | string | No | ||||
| data.methodology_details | string | No | ||||
| data.name | string | No | ||||
| data.profile_image | string | No | ||||
| data.rating | number | No | ||||
| data.repeat_client_count | integer | No | ||||
| data.review_count | integer | No | ||||
| data.skills | array | No | ||||
| data.slug | string | No | ||||
| data.url | string | No | ||||
| data.years_of_training | 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/trainer/madison-h-over-6-years-of-pet-care-experience" \
-H "x-api-key: $CRAWLORA_API_KEY"