Slickdeals API endpoint
Searches Slickdeals' modern search surface -- a richer alternative to GET /slickdeals/search's keyword-only search. Returns real pagination (page/total_pages/per_page/result_count), integer vote/comment/view counts (not parsed from free text), a fuller per-deal record (store id, discount percent, status flags), and facets -- Categories, Stores, and Brands available for the current query, each option carrying a value usable as category_id/brand_id/store_id. Facet values and counts are scoped to the current query, not a site-wide enumeration -- category_id/brand_id/store_id are passthrough filters (obtain a value from a prior response's own facets), not validated against a closed enum. sort defaults to relevance; other values are passed through unvalidated.
/slickdeals/search/advancedQuery parameters:
q (required) — free-text keyword query, e.g. laptop.page (optional) — 1-based result page, default 1.sort (optional) — sort order, default relevance. Only relevance has been confirmed live; other values are passed through unvalidated since no server-side enumeration of the full accepted set was found.category_id (optional) — a category facet id, e.g. 9. Obtain a value from a prior response's own facets — this is a passthrough filter, not a validated closed enum, since facet values and counts are scoped to the current query, not a site-wide enumeration.brand_id (optional) — a brand facet id, same passthrough contract as category_id.store_id (optional) — a store facet id, e.g. 482 (eBay), same passthrough contract as category_id.Response includes query, page, total_pages, per_page, result_count, results[], facets[], source_url, and fetched_at.
Each result has:
thread_id, title, url — the deal's canonical identity.image_url (optional) — the deal's thumbnail image.list_price, final_price, discount (optional) — price and discount percent.store_id, store (optional) — the merchant.vote_score, comment_count, views_count — community engagement counts, as integers.forum_id (optional) — Slickdeals' own legacy sub-forum id.found_by (optional) — the public Slickdeals username who posted the deal.posted_at (optional) — when the deal was posted.is_frontpage, is_popular, is_new, is_expired — status flags Slickdeals attaches to the deal.is_fire_deal, has_rebate — additional status flags populated on GET /slickdeals/frontpage's own result cards; not observed carrying true on this endpoint's own /search cards, so they read as false here.Each facet group has label (e.g. Categories, Stores, Brands) and options[], each with label, value (usable as category_id/brand_id/store_id), count, and parent_value (set when an option is a subcategory of another option in the same group — Slickdeals' own Categories facet nests one level deep, e.g. Computers → Laptops).
| Field | Filled in, of 40 checked | Values in the sample |
|---|---|---|
| thread_id | 40 | |
| title | 40 | median 101 characters |
| url | 40 | slickdeals.net |
| image_url | 35 | static.slickdealscdn.com |
| list_price | 34 | “$2,499” and 26 other values |
| final_price | 36 | “$2,069” and 28 other values |
| discount | 34 | 7 to 69, median 30 |
| store_id | 40 | |
| store | 40 | “Walmart” and 13 other values |
| vote_score | 40 | -1 to 128, median 6 |
| comment_count | 40 | 0 to 43, median 4 |
| views_count | 40 | 628 to 30,294, median 4,868 |
| forum_id | 40 | |
| found_by | 40 | “phoinix” and 25 other values |
| posted_at | 40 | 2026-09-29 to 2026-10-12 |
| is_frontpage | 40 | true in 7 of 40 |
| is_popular | 40 | true in 21 of 40 |
| is_new | 40 | true in 0 of 40 |
| is_expired | 40 | true in 0 of 40 |
| is_fire_deal | 40 | true in 2 of 40 |
| has_rebate | 40 | true in 0 of 40 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| q | string | Yes | Free-text keyword query | laptop | |
| page | integer | No | 1-based result page, default 1 | 1 | |
| sort | string | No | Sort order, default relevance | relevance | |
| category_id | integer | No | Category facet id, from a prior response's own facets | 9 | |
| brand_id | integer | No | Brand facet id, from a prior response's own facets | ||
| store_id | integer | No | Store facet id, from a prior response's own facets | 482 | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/slickdeals/search/advanced?q=laptop&page=1" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"query": "laptop",
"page": 1,
"total_pages": 23,
"per_page": 40,
"result_count": 915,
"results": [
{
"thread_id": 19618338,
"title": "Anker 4-Port up to 140W USB-C Laptop Charger w/ 5' Cable",
"url": "https://slickdeals.net/f/19618338-...",
"image_url": "https://static.slickdealscdn.com/attachment/1/7/2/2/9/6/300x300/17229612.thumb",
"list_price": "$90",
"final_price": "$66",
"discount": 26,
"store_id": 701,
"store": "Newegg",
"vote_score": 20,
"comment_count": 4,
"views_count": 3274,
"forum_id": 9,
"found_by": "htp182",
"posted_at": "2026-06-11T09:15:23-07:00",
"is_frontpage": true,
"is_popular": true,
"is_new": false,
"is_expired": false,
"is_fire_deal": false,
"has_rebate": false
}
],
"facets": [
{
"label": "Categories",
"options": [
{
"label": "Computers",
"value": "9",
"count": 31
},
{
"label": "Laptops",
"value": "34",
"count": 27,
"parent_value": "9"
}
]
},
{
"label": "Stores",
"options": [
{
"label": "eBay",
"value": "482",
"count": 4
}
]
}
],
"source_url": "https://slickdeals.net/search?q=laptop&sort=relevance",
"fetched_at": "2026-09-15T09:00:00Z"
}
}Request schema
No body schema
Response schema
#/definitions/slickdeals.searchAdvancedResponseDoc
| 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 | slickdeals.SearchAdvancedResponse | No | ||||
| data.facets | array | No | ||||
| data.facets[].label | string | No | Categories | |||
| data.facets[].options | array | No | ||||
| data.facets[].options[].count | integer | No | 27 | |||
| data.facets[].options[].label | string | No | Laptops | |||
| data.facets[].options[].parent_value | string | No | ParentValue is set when this option is a subcategory of another option in the same group (Slickdeals' own Categories facet nests one level deep). | |||
| data.facets[].options[].value | string | No | 34 | |||
| data.fetched_at | string | No | ||||
| data.page | integer | No | 1 | |||
| data.per_page | integer | No | 40 | |||
| data.query | string | No | laptop | |||
| data.result_count | integer | No | 915 | |||
| data.results | array | No | SearchAdvancedResult record, 21 fields: comment_count, discount, final_price, forum_id, found_by, has_rebate, image_url, is_expired, is_fire_deal, is_frontpage, is_new, is_popular and 9 more. Described under Slickdeals Frontpage API. | |||
| data.source_url | string | No | ||||
| data.total_pages | integer | No | 23 | |||
| 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 |
| 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/slickdeals/search/advanced?q=laptop&page=1" \
-H "x-api-key: $CRAWLORA_API_KEY"