GoodRx API endpoint
Returns GoodRx's medication and health questions: the index's top questions and every question with its slug, grouped by drug where GoodRx's index groups it (questions GoodRx lists only in its sitemap carry just their slug). Use a slug with /goodrx/answer.
/goodrx/answersNo query parameters.
Returns GoodRx's medication and health questions: top_questions featured on the index, and questions with every question's slug and url. Questions GoodRx's index groups by drug carry the question text and that drug group name; questions GoodRx lists only in its sitemap carry just their slug. total counts questions. Use a slug with /api/v1/goodrx/answer.
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 448 checked | Values in the sample |
|---|---|---|
| question | 254 | |
| slug | 448 | |
| url | 448 | goodrx.com |
| drug | 250 |
| 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/answers" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 0,
"message": "success",
"data": {
"total": 448,
"top_questions": [
{
"question": "Is albuterol a steroid?",
"slug": "is-albuterol-a-steroid",
"url": "https://www.goodrx.com/answers/is-albuterol-a-steroid"
}
],
"questions": [
{
"question": "Who makes Adderall?",
"slug": "who-makes-adderall",
"url": "https://www.goodrx.com/answers/who-makes-adderall",
"drug": "Adderall"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/goodrx.answersResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| data | goodrx.AnswersResponse | No | ||||
| data.questions | array | No | AnswerRef record, 4 fields: drug, question, slug, url. Described under GoodRx health question and answer API. | |||
| data.top_questions | array | No | AnswerRef record, 4 fields: drug, question, slug, url. Described under GoodRx health question and answer API. | |||
| data.total | integer | 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/answers" \
-H "x-api-key: $CRAWLORA_API_KEY"