---
title: "Search"
method: GET
path: "/search"
tags: ["Search"]
---

# Search

`GET /search`

Searches for resources containing a given keyword. For example, to search for any resource containing the term `binary trees`, make a `GET` request to `search?q=binary trees` Note&#58; The `page` attribute in the response of the `/search` endpoint begins with `0`, but the `page` attribute in the response of the `List Resources` endpoint begins with `1`.

## Query parameters

- `q` string, required
- `free` boolean
- `languages` unknown[]
  - unknown
- `category` string

## Response `200`

Search results

- SearchResponse
  - `apiVersion` string — API version
  - `resources` ResourceData[]
    - `category` string — Category
    - `created_at` string, date-time — Date created
    - `downvotes` integer — Negative ratings
    - `id` integer — Resource ID
    - `last_updated` string, date-time — Date updated
    - `languages` string[] — List of languages
    - `name` string — Resource name
    - `notes` string — Resource notes
    - `free` boolean — True or false for whether resource is free
    - `upvotes` integer — Positive ratings
    - `url` string — Resource url
    - `user_vote_direction` string, nullable — Vote direction of a logged in user
  - `number_of_pages` integer — Total pages
  - `page` integer — Current page
  - `records_per_page` integer — Records per page
  - `status` string — Status message
  - `status_code` integer — Status code
  - `total_count` integer — Total resources retrieved

## Other responses

- `404` — Resource not found

## Changes

- **2026-07-17** `6071d3157f6d` — 1 info
  - added the optional property `resources/items/user_vote_direction` to the response with the `200` status
- **2020-10-19** `5f6fef2c1be0` — 2 warning, 2 info
  - deleted the `query` request parameter `paid`
  - removed the optional property `resources/items/paid` from the response with the `200` status
  - added the new optional `query` request parameter `free`
  - added the optional property `resources/items/free` to the response with the `200` status
- **2020-05-12** `a1ebd031433f` — 2 warning, 1 info
  - removed the optional property `data` from the response with the `200` status
  - removed the optional property `data` from the response with the `404` status
  - added the optional property `resources` to the response with the `200` status
- **2020-01-27** `6bdea8f16774` — 1 breaking
  - for the `query` request parameter `languages`, the type/format was changed from `array of strings`/`` to `array`/``
- **2020-01-10** `ac7f919a3345` — 1 warning
  - removed the optional property `errors/invalid-credentials` from the response with the `404` status

[Full history](https://skmtc.dev/operationcode/apis/operation-code-resources-api/changes/search/get.md)

---

[API](https://skmtc.dev/operationcode/apis/operation-code-resources-api.md) · [All operations](https://skmtc.dev/operationcode/apis/operation-code-resources-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/operationcode/operation-code-resources-api/revisions/6071d3157f6d/schema)
