Search

Learn how to search for items, boards, documents, users, workspaces, updates, and timeline items across your account using the platform API

The monday.com search API allows you to find items, boards, documents, users, workspaces, updates, and timeline items across your account. It uses a combination of keyword matching and semantic understanding to return the most relevant results.

Unlike a traditional search query that returns a mixed list of results, the search API uses a namespace structuresearch returns a SearchNamespace object with separate fields for each entity type. This lets you search multiple entity types in a single request while specifying different filters for each.

🚧

Only available in API versions 2026-07 and later

📘

Check out the Searching across your account guide for best practices, filtering strategies, and end-to-end examples.

Queries

Search across entities

Required scopes vary by entity type:

Entity typeRequired scope
itemsboards:read
boardsboards:read
docsdocs:read
usersusers:read
workspacesworkspaces:read
updatesupdates:read
timeline_itemsboards:read
  • Returns SearchNamespace! — an object with one field per entity type
  • Can be queried directly at the root
  • Request only the entity type fields you need — omitting a field avoids unnecessary processing
  • The limit argument on each field applies to that entity type only

Each entity type is accessed as a field on the returned SearchNamespace. Include only the fields for the entity types you want to search in a single request:

query {
  search {
    items(query: "Q1 planning", limit: 10, board_ids: ["1234567890"]) {
      results {
        id
        indexed_data {
          name
          board_id
          url
        }
        live_data {
          id
          name
          state
        }
      }
    }
    boards(query: "Q1 planning", limit: 10) {
      results {
        id
        indexed_data {
          name
          url
        }
      }
    }
    docs(query: "Q1 planning", limit: 5) {
      results {
        id
        indexed_data {
          name
        }
      }
    }
    users(query: "Ada", limit: 5) {
      results {
        id
        indexed_data {
          name
          email
        }
      }
    }
    workspaces(query: "Q1 planning", limit: 5) {
      results {
        id
        indexed_data {
          name
        }
      }
    }
    updates(query: "Q1 planning", limit: 5, board_ids: ["1234567890"]) {
      results {
        id
        indexed_data {
          body
          creator_id
          item_id
          board_id
          created_at
          updated_at
        }
        live_data {
          id
          body
        }
      }
    }
    timeline_items(query: "kickoff call", limit: 5, type: email) {
      results {
        id
        indexed_data {
          title
          summary
          type
          product_kind
          item_id
          board_id
        }
        live_data {
          id
        }
      }
    }
  }
}

Arguments

The search query itself takes no arguments. Arguments are passed to each entity field on the SearchNamespace.

search.items arguments:

ArgumentTypeDescription
queryString!The search query string.
limitIntMaximum number of results to return. Default: 10. Maximum: 20.
date_rangeCrossEntityDateRangeInputOptional. Filter results by creation or update timestamps.
strategySearchStrategyControls the trade-off between search quality and response time. Default: BALANCED.
board_ids[ID!]Optional. Filter items to specific board IDs.
workspace_ids[ID!]Optional. Filter items to specific workspace IDs.

search.boards arguments:

ArgumentTypeDescription
queryString!The search query string.
limitIntMaximum number of results to return. Default: 10. Maximum: 20.
date_rangeCrossEntityDateRangeInputOptional. Filter results by creation or update timestamps.
strategySearchStrategyControls the trade-off between search quality and response time. Default: BALANCED.
board_ids[ID!]Optional. Filter boards to specific board IDs.
workspace_ids[ID!]Optional. Filter boards to specific workspace IDs.

search.docs arguments:

ArgumentTypeDescription
queryString!The search query string.
limitIntMaximum number of results to return. Default: 10. Maximum: 20.
date_rangeCrossEntityDateRangeInputOptional. Filter results by creation or update timestamps.
strategySearchStrategyControls the trade-off between search quality and response time. Default: BALANCED.
workspace_ids[ID!]Optional. Filter documents to specific workspace IDs.

search.users arguments:

🚧

Only available in API versions 2026-10 and later

ArgumentTypeDescription
queryString!The search query string.
limitIntMaximum number of results to return. Default: 10. Maximum: 20.
date_rangeCrossEntityDateRangeInputOptional. Filter results by creation or update timestamps.
strategySearchStrategyControls the trade-off between search quality and response time. Default: BALANCED.

search.workspaces arguments:

ArgumentTypeDescription
queryString!The search query string.
limitIntMaximum number of results to return. Default: 10. Maximum: 20.
date_rangeCrossEntityDateRangeInputOptional. Filter results by creation or update timestamps.
strategySearchStrategyControls the trade-off between search quality and response time. Default: BALANCED.

search.updates arguments:

🚧

Only available in API versions 2026-10 and later

ArgumentTypeDescription
queryString!The search query string. Update search matches against the update body.
limitIntMaximum number of results to return. Default: 10. Maximum: 20.
date_rangeCrossEntityDateRangeInputOptional. Filter results by creation or update timestamps.
strategySearchStrategyAccepted for API consistency. Update search uses keyword matching over update bodies.
board_ids[ID!]Optional. Filter updates to specific board IDs.
creator_ids[ID!]Optional. Filter updates to those authored by specific creator user IDs.

search.timeline_items arguments:

🚧

Only available in API versions 2026-10 and later

ArgumentTypeDescription
queryString!The search query string. Timeline item search matches against the title, summary, and content.
limitIntMaximum number of results to return. Default: 10. Maximum: 20.
date_rangeCrossEntityDateRangeInputOptional. Filter results by creation or update timestamps.
strategySearchStrategyAccepted for API consistency. Timeline item search uses keyword matching.
board_ids[ID!]Optional. Filter timeline items to specific board IDs.
workspace_ids[ID!]Optional. Filter timeline items to specific workspace IDs.
item_ids[ID!]Optional. Filter timeline items to those belonging to specific item IDs.
typeTimelineItemKindOptional. Filter by timeline item kind (e.g., email, googleCalendar).
product_kindTimelineItemProductKindOptional. Filter by the product the timeline item originates from (e.g., crm, service).

Fields

Each entity field on SearchNamespace returns a result container object with a single results field:

FieldTypeDescription
search.itemsSearchItemResults!Item search results.
search.boardsSearchBoardResults!Board search results.
search.docsSearchDocResults!Document search results.
search.usersSearchUserResults!User search results. Only available in API versions 2026-10 and later.
search.workspacesSearchWorkspaceResults!Workspace search results.
search.updatesSearchUpdateResults!Update search results. Only available in API versions 2026-10 and later.
search.timeline_itemsSearchTimelineItemResults!Timeline item search results. Only available in API versions 2026-10 and later.

Each result in the results array includes:

FieldTypeDescription
idID!The unique identifier of the entity.
indexed_dataSearchIndexedItem! / SearchIndexedBoard! / SearchIndexedDoc! / SearchIndexedUser! / SearchIndexedWorkspace! / SearchIndexedUpdate! / SearchIndexedTimelineItem!The entity data stored in the search index. Fast but potentially stale.
live_dataItem / Board / Document / User / Workspace / Update / TimelineItemThe latest entity data resolved from the core API. null when the entity was deleted, is inaccessible to the caller, or has an indexing lag.
👍

indexed_data vs live_data

The indexed_data field returns pre-indexed data — fast but potentially stale. The live_data field resolves to the full entity from the core API with the latest data, but adds latency. Use indexed_data when speed matters; use live_data when you need real-time accuracy.


Authorization

Authorization is applied automatically based on the authenticated user context. Results are filtered to the items, boards, documents, users, workspaces, updates, and timeline items the caller is allowed to access — inaccessible results are excluded from the response.


Limits

ConstraintValue
Maximum results per entity field20
Default limit10

Results are returned ordered by relevance within each entity type. No cursor-based pagination is available — all results are returned up to the specified limit.