title, description, and url fields of every bookmark. When an exact phrase match returns no results, the engine automatically falls back to fuzzy matching so typos and partial words still find what you’re looking for. On Pro and Team plans, AI semantic search activates automatically — it understands meaning and intent, not just keywords, so a query like "managing async state" surfaces articles about Redux, Zustand, React Query, and Promises even if those words don’t appear verbatim. All requests require a Bearer token in the Authorization header.
The Search endpoint returns the same response envelope as
GET /api/v1/bookmarks, including cursor-based pagination. You can paginate through large result sets using the nextCursor field.GET /api/v1/search
Search bookmarks by keyword or natural-language query.The search query. Searched against bookmark title, description, and URL. On Pro/Team plans, also processed by the AI semantic search engine.
Pagination cursor. Pass the
nextCursor value from a previous response to fetch the next page of results.Number of results to return per page. Accepted range: 1–100.
Restrict results to bookmarks that belong to this group UUID. Useful when you want to search within a specific collection.
Restrict results to bookmarks that carry this tag UUID. Combine with
groupId to narrow results further.Array of matching bookmark objects, ordered by relevance. Each object is identical in shape to the bookmark objects returned by
GET /api/v1/bookmarks.Cursor for the next page of results. Pass this as the
cursor query parameter in your next request. null when you have reached the last page.Search behavior
Bkmark uses a tiered approach to match your query against the library:The
search query parameter on GET /api/v1/bookmarks runs the same engine as this endpoint. Use /search when search is your primary intent and you don’t need the additional filter parameters unique to the bookmarks list (such as isFavorite or isArchived). Both endpoints support groupId and tagId filtering.