Chick-fil-A API endpoint
Returns one page of Chick-fil-A's published customer FAQ corpus (522 entries at time of writing) across 30 categories -- Chick-fil-A One membership, points and rewards, digital ordering and payment, delivery support, sweepstakes terms, and more. Each entry carries the question, the answer as plain text, the answer's original HTML (a fair number of answers use links, lists and tables that plain text loses), and its resolved categories. Every categories[].id is a ready-to-use value for the category filter. search matches over question and answer text and is relevance-ranked; without it entries come back alphabetically so a caller can page through the whole corpus deterministically.
/chick-fil-a/faqEach entry carries the answer twice: answer is the body flattened to plain text, and answer_html preserves the upstream markup, because a fair number of these answers use links, lists and tables that plain text loses. Callers that just want to read or index the text should use answer.
Query parameters:
search (optional) — free-text filter over question and answer text, e.g. delivery. Results are relevance-ranked when present; without it entries are ordered alphabetically so the whole corpus can be paged deterministically.category (optional) — comma-separated faq_category term ids, up to 20, e.g. 58.page (optional, default 1) — 1-based page number.per_page (optional, default 20, max 100) — entries per page.Response includes entries[], pagination, source_url, and fetched_at. Each entry has id, slug, question, answer, answer_html, categories[], page_url, and modified_at. Each category has id, name, and slug.
Category names are resolved best-effort in a single extra upstream call; if that call fails, categories[] still carries usable id values with empty names rather than failing the whole page.
| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| id | 20 | |
| slug | 20 | |
| question | 20 | “After submitting a missed transaction request, when will I…” and 19 other values |
| answer | 20 | median 317 characters |
| answer_html | 20 | median 564 characters |
| categories | 20 | median 1 entry |
| page_url | 20 | |
| modified_at | 20 | 2026-10-08 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| search | string | No | Free-text filter over question and answer text. Results are relevance-ranked when present. | delivery | |
| category | string | No | Comma-separated faq_category term ids, up to 20, from any prior response's categories[].id | 58 | |
| page | integer | No | 1-based page number (default 1) | 1 | |
| per_page | integer | No | Entries per page, 1-100 (default 20) | 20 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/chick-fil-a/faq?page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"entries": [
{
"id": 41266,
"slug": "delivery-how-it-works",
"question": "How does Chick-fil-A Delivery® work?",
"answer": "Order through the Chick-fil-A App or chick-fil-a.com.",
"answer_html": "<p>Order through the <a href=\"/app\">Chick-fil-A App</a> or chick-fil-a.com.</p>",
"categories": [
{
"id": 58,
"name": "Chick-fil-A Delivery Support FAQS",
"slug": "delivery-support"
}
],
"page_url": "https://www.chick-fil-a.com/faq/delivery-how-it-works",
"modified_at": "2026-08-29T12:00:00"
}
],
"pagination": {
"page": 1,
"per_page": 20,
"total": 522,
"total_pages": 27
},
"source_url": "https://www.chick-fil-a.com/wp-json/wp/v2/faq?page=1&per_page=20",
"fetched_at": "2026-08-30T14:05:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/chickfila.faqResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | Code is the HTTP status code or a custom code used to indicate the result of the request @example 200 | |||
| data | chickfila.FAQResponse | No | ||||
| data.entries | array | No | ||||
| data.entries[].answer | string | No | ||||
| data.entries[].answer_html | string | No | ||||
| data.entries[].categories | array | No | ||||
| data.entries[].categories[].id | integer | No | 265 | |||
| data.entries[].categories[].name | string | No | Breakfast | |||
| data.entries[].categories[].slug | string | No | breakfast | |||
| data.entries[].id | integer | No | 41266 | |||
| data.entries[].modified_at | string | No | 2026-08-29T12:00:00 | |||
| data.entries[].page_url | string | No | ||||
| data.entries[].question | string | No | What are the S’mores Milkshake and S’mores Frosted Coffee? | |||
| data.entries[].slug | string | No | smores-milkshake | |||
| data.fetched_at | string | No | ||||
| data.pagination | chickfila.pagination | No | ||||
| data.pagination.page | integer | No | 1 | |||
| data.pagination.per_page | integer | No | 20 | |||
| data.pagination.total | integer | No | 567 | |||
| data.pagination.total_pages | integer | No | 29 | |||
| data.source_url | string | No | ||||
| msg | unknown | No | Msg is the message that describes the result of the request @example "Request successful" |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/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/chick-fil-a/faq?page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"