GoodRx API endpoint
Lists the health conditions in GoodRx's conditions directory, with each condition's name, `slug` and GoodRx URL. `has_medications` tells you whether GoodRx publishes a medications list for that condition. 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/conditionsNo query parameters.
Returns every health condition in GoodRx's conditions directory. has_medications reports whether GoodRx publishes a medications list for the condition, usable with /api/v1/goodrx/condition-drugs.
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 460 checked | Values in the sample |
|---|---|---|
| name | 460 | “Abdominal Aortic Aneurysm” and 459 other values |
| slug | 460 | |
| url | 460 | goodrx.com |
| has_medications | 460 | true in 408 of 460 |
| 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/conditions" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 0,
"message": "success",
"data": {
"conditions": [
{
"name": "Acne",
"slug": "acne",
"url": "https://www.goodrx.com/conditions/acne",
"has_medications": true
}
]
}
}Request schema
No body schema
Response schema
#/definitions/goodrx.conditionsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | goodrx.ConditionsResponse | No | ||||
| data.conditions | array | No | ||||
| data.conditions[].has_medications | boolean | No | ||||
| data.conditions[].name | string | No | ||||
| data.conditions[].slug | string | No | ||||
| data.conditions[].url | string | No |
| 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/conditions" \
-H "x-api-key: $CRAWLORA_API_KEY"