GoodRx API endpoint
Lists the brand-name drugs GoodRx features on its brand-name drugs page. Each entry has the drug name, `slug`, GoodRx URL, description, information URL and lowest price where shown. The `slug` feeds the drug prices endpoint. If GoodRx is unreachable, a retained copy up to about a day old is returned and flagged with an `X-Availability-Mode: stale` header.
/goodrx/brandsNo query parameters.
Returns the brand-name medications GoodRx features on its brand-name drugs page, with price-page slugs for /api/v1/goodrx/drug-prices.
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 40 checked | Values in the sample |
|---|---|---|
| name | 40 | “Advair” and 39 other values |
| slug | 40 | |
| url | 40 | goodrx.com |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/goodrx/brands" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 0,
"message": "success",
"data": {
"drugs": [
{
"name": "Advair",
"slug": "advair",
"url": "https://www.goodrx.com/advair"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/goodrx.brandsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | goodrx.BrandsResponse | No | ||||
| data.drugs | array | No | DrugLink record, 6 fields: description, info_url, lowest_price, name, slug, url. Described under GoodRx drug class API. |
| Status | Description | Schema |
|---|---|---|
| 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/brands" \
-H "x-api-key: $CRAWLORA_API_KEY"