GoodRx API endpoint
Returns GoodRx's dedicated drug guide pages (side effects, dosage, and interactions) as drug slug and topic pairs with last-modified dates, optionally filtered by topic and by the first character of the drug slug. Use the pairs with /goodrx/drug-guide.
/goodrx/drug-guidesQuery parameters:
topic (optional): one of side-effects, dosage, interactions.letter (optional): first character of the drug slug, a-z or 0-9.Returns every dedicated GoodRx drug guide page as guides (each with the drug slug, topic, url, and last_modified when GoodRx reports one), sorted by slug, plus the total after filtering. Not every drug has every topic: use a returned slug/topic pair with /api/v1/goodrx/drug-guide. Invalid topic or letter values return 400.
Recent results are reused: a verified response is served for up to 30 minutes, and GoodRx refuses automated traffic for an hour or more at times. When every live attempt is refused, the last verified response (at most about a day old) is returned instead of an error, with X-Availability-Mode: stale and its age in X-Availability-Last-Success-Age-Seconds. Check those headers to tell a retained copy from a live one. A response returned as stale is billed 1 credit instead of the endpoint's full price.
| Field | Filled in, of 68 checked | Values in the sample |
|---|---|---|
| slug | 68 | |
| topic | 68 | interactions in all 68 |
| url | 68 | goodrx.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| topic | string | No | Guide topic Allowed values: side-effects, dosage, interactions. | ||
| letter | string | No | First character of the drug slug: a-z or 0-9 | a | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/goodrx/drug-guides?topic=side-effects" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 0,
"message": "success",
"data": {
"topic": "interactions",
"letter": "t",
"total": 1,
"guides": [
{
"slug": "torsemide",
"topic": "interactions",
"url": "https://www.goodrx.com/torsemide/interactions"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/goodrx.drugGuidesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | goodrx.DrugGuidesResponse | No | ||||
| data.guides | array | No | DrugGuideRef record, 5 fields: last_modified, slug, title, topic, url. Described under GoodRx drug guide API. | |||
| data.letter | string | No | ||||
| data.topic | string | No | ||||
| data.total | integer | No |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/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/goodrx/drug-guides?topic=side-effects" \
-H "x-api-key: $CRAWLORA_API_KEY"