---
title: "Search the whole site: safety verdicts, field notes, guides and books"
method: GET
path: "/pages"
---

# Search the whole site: safety verdicts, field notes, guides and books

`GET /pages`

## Request

- Base URL: `https://greenlitbooks.com/api/v1`
- URL: `https://greenlitbooks.com/api/v1/pages`
- Auth: none required

Ranked search over every page on the site, including the safety verdicts on AI agents, MCP servers and coding tools. Distinctive words in the query decide the ranking; common words only break ties. Pass a result's id to /pages/doc for the full text.

## Query parameters

- `q` string, required
- `limit` integer

## Response `200`

Ranked pages

- object
  - `meta` Meta: Envelope on every response.
    - `version` 'v1'
    - `generatedAt` string, date-time: When this snapshot was produced. Static endpoints stamp it at deploy; search stamps it per request.
    - `source` string, uri
    - `docs` string, uri
    - `openapi` string, uri
  - `query` object
    - `q` string
    - `limit` integer
  - `count` integer
  - `totalMatches` integer
  - `results` object[]
    - `id` string: Pass to /pages/doc. <kind>:<slug>, e.g. note:is-cursor-safe.
    - `title` string
    - `url` string, uri
    - `kind` 'book' | 'note' | 'guide'
    - `snippet` string

## Other responses

- `400`: Missing q or invalid limit

---

[API](https://skmtc.dev/greenlitbooks/apis/greenlit-books-api.md) · [All operations](https://skmtc.dev/greenlitbooks/apis/greenlit-books-api/llms.txt) · [OpenAPI document](https://skmtc.dev/greenlitbooks/apis/greenlit-books-api/revisions/7c8b9f94ca1e?raw)
