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

# Search across resources

`GET /search`

Search result limits are per resource type, not global across the response. The endpoint can return up to 100 projects, up to 100 notebooks, and up to 200 blocks (split into up to 100 text blocks and up to 100 code/SQL blocks). Integrations do not have an explicit search-result limit; active workspace integrations are filtered by the query. If one or more requested resource types cannot be searched, the endpoint returns successful results with partialFailure instead of failing the whole request.

## Query parameters

- `q` string, required — Search query (e.g. "postgres").
- `types` string — Comma-separated resource types to include: "projects", "notebooks", "blocks", "integrations". Defaults to all types.

## Response `200`

Search results

- SearchResponse — Search result limits are per resource type, not global across the response. The endpoint can return up to 100 projects, up to 100 notebooks, and up to 200 blocks (split into up to 100 text blocks and up to 100 code/SQL blocks). Integrations do not have an explicit search-result limit; active workspace integrations are filtered by the query. If one or more requested resource types cannot be searched, the endpoint returns successful results with partialFailure instead of failing the whole request.
  - `results` SearchResults, required — Search result limits are per resource type, not global across the response. The endpoint can return up to 100 projects, up to 100 notebooks, and up to 200 blocks (split into up to 100 text blocks and up to 100 code/SQL blocks). Integrations do not have an explicit search-result limit; active workspace integrations are filtered by the query. If one or more requested resource types cannot be searched, the endpoint returns successful results with partialFailure instead of failing the whole request.
    - `projects` Project[], required — Project results. Per-resource limit: 100.
      - `id` string, uuid, required
      - `name` string, required
      - `projectType` 'standard' | 'notebook' | 'agent', required — Project type.
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, nullable, required
    - `notebooks` Notebook[], required — Notebook results. Per-resource limit: 100.
      - `id` string, required — Opaque notebook identifier.
      - `projectId` string, uuid, required
      - `name` string, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time
    - `blocks` SearchBlock[], required — Block results. Per-resource limit: up to 200 total, split into up to 100 text blocks and up to 100 code/SQL blocks.
      - `id` string, required — Opaque block identifier.
      - `notebookId` string, required — Opaque notebook identifier.
      - `type` string, required
      - `metadata` object, nullable
      - `version` integer, required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
      - `contentPreview` string, required — Matching block content preview.
    - `integrations` Integration[], required — Integration results. No explicit search-result limit; active integrations are filtered.
      - `id` string, uuid, required
      - `name` string, required
      - `type` 'alloydb' | 'athena' | 'big-query' | 'clickhouse' | 'cloud-sql' | 'databricks' | 'dremio' | 'mariadb' | 'materialize' | 'mindsdb' | 'mysql' | 'pandas-dataframe' | 'pgsql' | 'redshift' | 'snowflake' | 'spanner' | 'sql-server' | 'trino' | 'mongodb' | 'env' | 'google-drive' | 'google-drive-v3' | 's3' | 'local' | 'gcs' | 'dropbox' | 'slack' | 'gcr' | 'ecr' | 'dockerhub' | 'ssh-key' | 'spark' | 'notion' | 'airtable' | 'telegram' | 'supabase' | 'influxdb' | 'onedrive' | 'azure-blob-storage' | 'deepnote-api' | 'snowflake-snowpark' | 'great-expectations' | 'weights-and-biases' | 'comet' | 'neptune_ai' | 'presto' | 'dynamodb' | 'google-sheets' | 'box' | 'ssh_tunnel' | 'github_package' | 'gitlab_package' | 'dataproc' | 'linear-mcp' | 'github-mcp' | 'custom-mcp' | 'postgresql-mcp' | 'mongodb-mcp' | 'snowflake-mcp' | 'bigquery-mcp' | 'clickhouse-mcp' | 'redis-mcp' | 'neon-mcp' | 'neo4j-mcp' | 'elasticsearch-mcp' | 'mysql-mcp' | 'sqlite-mcp' | 'oracle-mcp' | 'couchbase-mcp' | 'cockroachdb-mcp' | 'singlestore-mcp' | 'astra-db-mcp' | 'dynamodb-mcp' | 'pinecone-mcp' | 'kafka-mcp' | 'prisma-mcp' | 'dbt-mcp' | 'metabase-mcp' | 'vizro-mcp' | 'grafana-mcp' | 'huggingface-mcp' | 'python-interpreter-mcp' | 'brave-mcp' | 'arxiv-mcp' | 'paper-search-mcp' | 'tavily-mcp' | 'exa-mcp' | 'perplexity-mcp' | 'youtube-transcripts-mcp' | 'firecrawl-mcp' | 'fetch-mcp' | 'apify-mcp' | 'bright-data-mcp' | 'aws-mcp' | 'google-cloud-mcp' | 'azure-mcp' | 'git-mcp' | 'filesystem-mcp' | 'playwright-mcp' | 'docker-hub-mcp' | 'n8n-mcp' | 'notion-mcp' | 'slack-mcp' | 'atlassian-mcp' | 'salesforce-mcp' | 'airtable-mcp' | 'excalidraw-mcp', required — Deepnote integration type identifier.
      - `createdAt` string, date-time, nullable, required
      - `updatedAt` string, date-time, nullable, required
  - `partialFailure` SearchPartialFailure
    - `message` string, required — Human-readable description of the partial search failure.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `403` — Insufficient permissions
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/deepnote/apis/deepnote-public-api.md) · [All operations](https://skmtc.net/deepnote/apis/deepnote-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/deepnote/deepnote-public-api/revisions/726970fd2992/schema)
