---
title: "Search Slickdeals community-submitted deals by keyword"
method: GET
path: "/slickdeals/search"
tags: ["Slickdeals"]
---

# Search Slickdeals community-submitted deals by keyword

`GET /slickdeals/search`

## Request

- Base URL: `https://api.crawlora.net/api/v1`
- URL: `https://api.crawlora.net/api/v1/slickdeals/search`
- Auth: API key in header `x-api-key`

Searches Slickdeals (slickdeals.net), a community deal/coupon aggregator, for deal threads matching a free-text keyword query. Each result is one community-submitted deal thread with its title (which conventionally embeds the deal price), a best-effort price extracted from that title, the merchant domain, the community vote ("thumb") score, the public Slickdeals username who posted it, and when it was posted. Pair a result's thread_id or url with GET /slickdeals/deal for the full detail record, including comment count and category. An optional forum_id restricts results to one Slickdeals legacy sub-forum (e.g. Hot Deals, Coupons) -- obtain a value from GET /slickdeals/forums, a closed enum validated before the request is made. An optional deal_type_id restricts results to one Slickdeals deal-type tag (e.g. Coupon, Free / Freebie, YMMV) -- obtain a value from GET /slickdeals/deal-types, also a closed enum validated before the request is made; composes with forum_id.

## Query parameters

- `q` string, required
- `forum_id` integer
- `deal_type_id` integer

## Headers

- `x-api-key` string, required

## Response `200`

OK

- SlickdealsSearchResponseDoc
  - `code` integer: Code is the HTTP status code or a custom code used to indicate the result of the request @example 200
  - `data` SlickdealsSearchResponse
    - `count` integer
    - `fetched_at` string
    - `query` string
    - `results` SlickdealsSearchResult[]
      - `found_by` string
      - `price` string
      - `published_at` string
      - `store` string
      - `thread_id` integer
      - `title` string: Title is Slickdeals' own thread title, which conventionally embeds the deal price (e.g. "... $358.53") -- Price is a best-effort convenience field extracted from it, not a separately structured upstream field.
      - `url` string
      - `vote_score` integer
    - `source_url` string
  - `msg` unknown

## Other responses

- `400`: Bad Request
- `429`: Too Many Requests
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crawlora/apis/crawlora-api.md) · [All operations](https://skmtc.dev/crawlora/apis/crawlora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/crawlora/apis/crawlora-api/revisions/0497899e2016?raw)
