Rite Aid APIriteaid.com ↗
Look up closed Rite Aid pharmacy locations, find prescription transfer destinations by ZIP code, and check store-level replacement pharmacy details.
What is the Rite Aid API?
This API exposes 4 endpoints covering Rite Aid's pharmacy closure data, including prescription transfer destinations, replacement pharmacy details, and site status. The get_pharmacy_closure_by_zip endpoint accepts a 5-digit ZIP code and returns matched or nearby closure records with both old and new pharmacy addresses. Use it to build patient-facing tools, migration trackers, or reference databases for affected Rite Aid locations.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/4159114e-f7f7-45bb-917a-b20884ce01c3/get_pharmacy_closure_list' \ -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 riteaid-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: Rite Aid Pharmacy Closure API — find where prescriptions were transferred."""
from parse_apis.rite_aid_pharmacy_closure_api import RiteAid, ZipNotFound
client = RiteAid()
# Check the current site status — page title, sections, and navigation links
status = client.sitestatuses.get()
print(f"Page: {status.page_title}")
print(f"Message: {status.message}")
print(f"All stores closed: {status.all_stores_closed}")
for section in status.sections[:3]:
print(f" Section: {section}")
# Search for closed pharmacies by ZIP code
for closure in client.closures.search(zip_code="15232", limit=5):
print(f"Old: {closure.old_address}, {closure.old_city}, {closure.old_state} {closure.old_zip}")
print(f"New: {closure.new_name} at {closure.new_address}, {closure.new_city}, {closure.new_state} {closure.new_zip}")
# Handle a ZIP with no results using the typed error
try:
result = client.closures.search(zip_code="00000", limit=1).first()
if result:
print(f"Found: {result.new_name}")
except ZipNotFound as exc:
print(f"No closures found for ZIP: {exc.zip_code}")
print("exercised: sitestatuses.get / closures.search / ZipNotFound error handling")
Get the full list of closed Rite Aid pharmacies and their prescription transfer locations.
No input parameters required.
{
"type": "object",
"fields": {
"data": "array"
},
"sample": {
"data": [
{
"status": "Closed",
"new_zip": "15232",
"old_zip": "15232",
"new_city": "PITTSBURGH",
"old_city": "PITTSBURGH",
"new_phone": "+1 (555) 012-3456",
"new_state": "PA",
"old_state": "PA",
"new_address": "5550 CENTRE AVE",
"old_address": "5504 WALNUT STREET",
"store_number": "268",
"new_pharmacy_name": "GIANT EAGLE PHARMACY",
"old_pharmacy_name": "RITE AID PHARMACY",
"medication_availability": "N/A",
"last_day_of_pharmacy_business": "06/02/2025"
},
{
"status": "Closed",
"new_zip": "16148",
"old_zip": "16121",
"new_city": "HERMITAGE",
"old_city": "FARRELL",
"new_phone": "+1 (555) 012-3456",
"new_state": "PA",
"old_state": "PA",
"new_address": "2357 E. STATE STREET",
"old_address": "700 SHARON NEW CASTLE RD.",
"store_number": "1668",
"new_pharmacy_name": "GIANT EAGLE PHARMACY",
"old_pharmacy_name": "RITE AID PHARMACY",
"medication_availability": "N/A",
"last_day_of_pharmacy_business": "06/02/2025"
},
{
"status": "Closed",
"new_zip": "16148",
"old_zip": "16146",
"new_city": "HERMITAGE",
"old_city": "SHARON",
"new_phone": "+1 (555) 012-3456",
"new_state": "PA",
"old_state": "PA",
"new_address": "2357 E. STATE STREET",
"old_address": "811 EAST STATE STREET",
"store_number": "3972",
"new_pharmacy_name": "GIANT EAGLE PHARMACY",
"old_pharmacy_name": "RITE AID PHARMACY",
"medication_availability": "N/A",
"last_day_of_pharmacy_business": "06/02/2025"
}
],
"status": "success"
}
}About the Rite Aid API
Closure List and ZIP Search
get_pharmacy_closure_list returns the full dataset of closed Rite Aid pharmacies and their prescription transfer targets as an array. For location-specific queries, get_pharmacy_closure_by_zip takes a zip_code parameter (a 5-digit US ZIP) and returns a results array of transfer records. Each record contains the old location fields — old_address, old_city, old_state, old_zip — alongside the replacement pharmacy's new_name, new_address, new_city, and new_state. The response also includes a total count and an is_nearby boolean that indicates whether the results are exact matches or proximity-based fallbacks when no closed location exists in the given ZIP.
Store-Level Replacement Lookup
get_new_pharmacy_for_store accepts a store_number string and returns a data object with the replacement pharmacy details for that specific Rite Aid location. This is useful when you already know the Rite Aid store number from historical records and want the corresponding transfer destination without searching by geography.
Site Status
get_site_status returns metadata about Rite Aid's prescription transfer page: the message field contains the main H1 heading, sections lists H2 headings, page_title is the HTML title, links provides navigation and informational URLs with text labels, and all_stores_closed is a boolean flag indicating whether all Rite Aid stores are reported as closed. This endpoint is useful for monitoring whether the page content or closure status changes over time.
The Rite Aid API is a managed, monitored endpoint for riteaid.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when riteaid.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 riteaid.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 patient-facing tool that accepts a ZIP code and displays the nearest replacement pharmacy for prescriptions transferred from a closed Rite Aid.
- Populate a database of all Rite Aid closures using
get_pharmacy_closure_listfor offline analysis or compliance records. - Automate alerts when
all_stores_closedstatus changes by pollingget_site_status. - Map old Rite Aid locations to new pharmacy names using the
new_nameandnew_addressfields from ZIP-based search results. - Look up replacement pharmacy details for a known store number via
get_new_pharmacy_for_storeto update internal records. - Track the geographic spread of prescription transfers by aggregating
old_stateandnew_statefields across the full closure list.
| 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 Rite Aid have an official developer API for pharmacy closure or prescription transfer data?+
What does the `is_nearby` flag mean in `get_pharmacy_closure_by_zip` results?+
is_nearby to true. When results are an exact match for the searched ZIP, is_nearby is false. The zip_code field always echoes back the ZIP that was queried.Does the API include phone numbers or hours for the replacement pharmacies?+
new_name, new_address, new_city, new_state) but not phone numbers, hours, or chain affiliation metadata. You can fork this API on Parse and revise it to add an endpoint that enriches replacement pharmacy records with contact or hours data.Can I look up closures by state or by pharmacy chain rather than by ZIP code?+
get_pharmacy_closure_by_zip and store number via get_new_pharmacy_for_store. You can retrieve the full list from get_pharmacy_closure_list and filter client-side by old_state or new_name. Alternatively, you can fork this API on Parse and revise it to add a dedicated state or chain filter endpoint.How current is the closure data?+
get_site_status endpoint exposes an all_stores_closed boolean and the current page messaging, which can help you detect whether the source page has changed since your last call.