Recovery APIrecovery.com ↗
Search recovery centers, list locations, and fetch full facility details including insurance, amenities, ratings, and contact info via the Recovery.com API.
What is the Recovery API?
The Recovery.com API exposes 3 endpoints that let you search, filter, and retrieve detailed records for addiction treatment and recovery centers listed on recovery.com. Use search_centers to query facilities by location, condition, or accepted insurance across paginated results, then pass any returned slug to get_center_detail to pull contact info, amenities, treatment filters, ratings, pricing, and FAQ content for a specific facility.
curl -X GET 'https://api.parse.bot/scraper/86dc8dde-6b34-4095-85c7-6758917309f1/search_centers?page=0&limit=5&query=recovery&location=Texas&condition=Alcohol&insurance=Aetna' \ -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 recovery-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.
from parse_apis.recovery_com_scraper_api import Recovery, CenterSummary, Center, Location
recovery = Recovery()
# Search for recovery centers in Texas
for summary in recovery.centersummaries.search(location="Texas", limit=3):
print(summary.name, summary.slug, summary.rating, summary.review_count)
# Navigate to full details
center = summary.details()
print(center.center_name, center.level_of_care, center.accreditation)
print(center.map_location.address, center.ratings.rating)
print(center.insurance.accepted, center.insurance.provider_names)
# List all available locations
for loc in recovery.locations.list():
print(loc.name, loc.count)
# Get a specific center by slug
detail = recovery.centers.get(slug="greenhouse-treatment-texas")
print(detail.center_name, detail.center_location, detail.level_of_care)
print(detail.contact.number, detail.contact.website)
Search for recovery centers with optional filters for location, condition, and insurance. Returns paginated results (0-indexed pages). Each center summary includes a slug usable with get_center_detail for full information. Filtering by location accepts values from get_locations_list; condition and insurance are forwarded to the upstream index.
| Param | Type | Description |
|---|---|---|
| page | integer | Page number for pagination (0-indexed). |
| limit | integer | Number of results per page. |
| query | string | Search keyword (center name or general term). |
| location | string | Filter by location as listed in get_locations_list (e.g. 'Texas', 'Austin', 'California'). |
| condition | string | Filter by condition treated (e.g. 'Drug Addiction', 'Alcohol', 'Cocaine', 'Opioids'). |
| insurance | string | Filter by accepted insurance provider (e.g. 'Aetna', 'Cigna', 'BlueCross BlueShield'). |
{
"type": "object",
"fields": {
"page": "integer, current page number",
"limit": "integer, results per page",
"centers": "array of center summary objects with name, slug, location, address, rating, review_count, price_label, short_description, thumbnail, and verified fields"
},
"sample": {
"data": {
"page": 0,
"limit": 5,
"centers": [
{
"name": "J. Flowers Health Institute",
"slug": "j-flowers-health-institute-texas",
"rating": 4.44,
"address": "109 N. Post Oak Lane Suite 500 Houston, TX 77024",
"location": "Houston, Texas, United States",
"verified": false,
"thumbnail": "https://res.cloudinary.com/rehabpath/image/upload/v1742585028/skvsuz1h4g5tyc0csdrp.jpg",
"price_label": "Starting at $59,500",
"review_count": 49,
"short_description": "Sets clients on a path to optimal well-being & recovery."
}
]
},
"status": "success"
}
}About the Recovery API
Search and Filter Recovery Centers
The search_centers endpoint accepts optional parameters for query, location, condition, and insurance, returning a paginated array of center summaries. Each summary includes the facility name, slug, address, rating, review count, price label, short description, and a thumbnail URL. Pages are 0-indexed, and the limit parameter controls how many results appear per page. Location values should come from get_locations_list to ensure filter accuracy — passing an unrecognized string may return empty results.
Location Coverage
get_locations_list requires no parameters and returns all US states, cities, and regions that have at least one listed center, along with the count of centers in each location. Results are sorted alphabetically, making it straightforward to build a location picker or validate location strings before passing them to search_centers.
Full Facility Detail
get_center_detail takes a single required slug parameter obtained from search_centers results and returns a comprehensive record for that facility. Response fields include structured contact (phone and website), a price object with duration and price strings, ratings with numeric rating and review count, an Amenities array, a filters object covering primary focus and setting, a video embed URL (nullable), city and state strings, and a faq array specific to that center. This endpoint is the primary source for data needed to build a facility comparison or detail view.
The Recovery API is a managed, monitored endpoint for recovery.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when recovery.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 recovery.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 treatment center directory filtered by US state using
locationfromget_locations_list - Aggregate insurance acceptance data across facilities by filtering
search_centerswith theinsuranceparameter - Display facility ratings and review counts sourced from the
ratingsfield inget_center_detail - Populate a facility detail page with contact info, amenities, and pricing from
get_center_detail - Compare facilities by condition specialty using the
conditionfilter insearch_centers - Surface facility-specific FAQs for a chatbot or help interface using the
faqarray fromget_center_detail
| 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 Recovery.com have an official developer API?+
What does get_center_detail return beyond what search_centers shows?+
search_centers returns summary fields — name, slug, address, rating, review count, price label, and thumbnail. get_center_detail adds structured contact details (phone number and website URL), a price object with duration context, an Amenities array, a filters object with primary focus and setting, a nullable video embed URL, and a faq array specific to that facility.How should I use get_locations_list with search_centers?+
get_locations_list returns the exact location name strings (and their center counts) that search_centers recognizes as valid location filter values. Passing a location string that does not appear in get_locations_list output may return no results, so it is best to validate or populate location options from that endpoint first.Does the API include user-written reviews or just aggregate ratings?+
ratings field in get_center_detail. Individual review text is not returned by any current endpoint. You can fork this API on Parse and revise it to add an endpoint that fetches per-review content for a given facility.Is coverage limited to US facilities?+
get_locations_list returns US states, cities, and regions, so the primary coverage is domestic. The search_centers endpoint accepts a general query string that may surface some non-US listings where slugs exist, but structured international location filtering is not currently supported. You can fork this API on Parse and revise it to extend location coverage for non-US regions.