Skip to content

Limits & Constraints

LimitValueNotes
Search resultsMax 50 (GraphQL), max 25 (MCP)Default 10
Discover resultsMax 50 per queryDefault 10
Recent resultsMax 50 per queryDefault 15
Documents queryMax 100 per pageDefault 25
Sync runs queryMax 100 per pageDefault 20
Batch ingestMax 50 documentsPer POST /api/sync/documents request
Connector nested queriesDefault 5recentDocuments, topAuthors, syncRuns
LimitValue
MCP session TTL (HTTP transport)1 hour
Worker execution timeout~30 seconds
WebSocket idleHibernates (no timeout; sleeps until next message)

Documents and sync runs use offset-based pagination with limit and offset parameters.

  • No cursor-based pagination is available.
  • There is no enforced maximum offset, but very large offsets produce slower queries.
  • Use the hasMore field in paginated responses to determine if more results exist.
  • The totalCount field returns the total number of matching records.
ConstraintDetails
Document ID format16-character hex string
External IDMust be unique per connector (used for deduplication)
Content typestext, transcript, highlight, bookmark
Schedule formats"every 30 minutes", "every hour", "every 6 hours", "every 12 hours", "daily"
TagsJSON string array, no enforced limit on count
Preview textFirst ~300 words of document content
Vector dimensions1024 (bge-m3 model)

Trove does not enforce per-user rate limits at the application level. Cloudflare’s built-in DDoS protection applies at the infrastructure level.

For high-volume ingestion, batch documents into groups of 50 (the maximum per request) and allow reasonable delays between requests to avoid overwhelming the ingest pipeline.