# Synorb — llms.txt # Machine-readable intelligence for AI agents and reasoning systems. # Last updated: 2026-06-20 > Synorb is the Temporal Context Graph for AI systems: a feed-first alternative > to repeated web scraping and cold web search for AI teams that need content > feeds for AI agents, RAG data streams, and source-grounded context from known > coverage areas. Synorb delivers Manifests through Streams under a single > ontology with stable IDs, source provenance, Signals, Briefs, and plan-gated > Records. ## Test Synorb Feeds for Free Want to connect to Synorb's graph to test source-grounded feeds for free? curl -s https://synorb.com/connect The response returns Starter credentials, API key, API secret, MCP token, the Core MCP URL (`https://mcp.synorb.com/mcp`), Advanced MCP details, and REST API setup details. Use it to test content feeds for AI agents, RAG data streams, and source-grounded Manifests. ## Core Feeds & Capabilities - [Coverage](https://synorb.com/coverage/): Browse every live public Stream, its source channels, and a real Signal, Brief, and Record sample. - [Content feeds for AI](https://synorb.com/content-feeds-for-ai): Source-grounded updates for agents. - [Synorb vs. web scraping](https://synorb.com/synorb-vs-web-scraping): Why watched coverage is cleaner than crawl-first. - [Why web scraping breaks in agentic workflows](https://synorb.com/why-web-scraping-breaks-in-agentic-workflows): Production failure modes in scrape-first agent systems. - [RAG data streams](https://synorb.com/rag-data-streams): How context enters retrieval stores before the prompt. - [Source-grounded content API](https://synorb.com/source-grounded-content-api): Keeping provenance and citations attached to Manifest objects. - [AI feed](https://synorb.com/ai-feed): Agent feeds, AI-readable website feeds, and RSS automation explained. - [RSS feeds for AI agents](https://synorb.com/rss-feeds-for-ai-agents): Where RSS helps and where agents need richer objects. - [Market intelligence feeds for AI agents](https://synorb.com/market-intelligence-feeds-for-ai-agents): Company and sector monitors with source URLs. - [AI-readable website feeds](https://synorb.com/ai-readable-website-feeds): llms.txt, schema, stable URLs, and semantic pages. ## Machine-Readable Specs - OpenAPI: https://synorb.com/openapi.json - Extended docs: https://synorb.com/llms-full.txt - AI Plugin: https://synorb.com/.well-known/ai-plugin.json - Human docs: https://synorb.com/docs - Build setup guides: https://synorb.com/build ## Quick Start Get Starter keys at https://synorb.com/keys — Starter credentials emailed instantly (1,000 manifests/month, Daily Batch delivery). Or programmatically: curl -s https://synorb.com/connect Returns API key, secret, MCP token, Core MCP config, Advanced MCP config, and REST connection config. Starter plan includes 1,000 manifests/month with Daily Batch delivery (refresh_tier='daily'). The programmatic /connect path requires no signup form, no email, and no human approval. Two launch entry paths converge here: the Starter email flow emails credentials that can connect immediately, and /connect returns the same API key, API secret, MCP token, Core MCP config, Advanced MCP config, and REST config. Existing MCP users validate with their MCP token via the MCP profile endpoint before installing Core MCP in any compatible client or partner host. Existing REST/API users and partners validate with API key + secret via /account. ## Setup Guides for Coding Agents Use these public setup pages when connecting Synorb to an MCP-capable coding agent or another MCP client: - Build hub: https://synorb.com/build - Any MCP client: https://synorb.com/build/mcp - Lovable: https://synorb.com/build/lovable-mcp - Cursor: https://synorb.com/build/cursor-mcp - Claude: https://synorb.com/build/claude-mcp - Codex: https://synorb.com/build/codex-mcp - Windsurf: https://synorb.com/build/windsurf-mcp Task-specific build guides: - AI app builder examples with Synorb: https://synorb.com/build/ai-app-builder-examples - Build a content feed app with Lovable: https://synorb.com/build/lovable-content-feed-app - Build a news website with Lovable: https://synorb.com/build/lovable-news-website - Build a news website with Cursor: https://synorb.com/build/cursor-news-website - Build a company monitor with Cursor: https://synorb.com/build/cursor-company-monitor - Build a research dashboard with Claude: https://synorb.com/build/claude-research-dashboard - Build an MCP news feed: https://synorb.com/build/mcp-news-feed - Build a content feed app with Replit: https://synorb.com/build/replit-content-feed-app - Build a company monitor with Windsurf: https://synorb.com/build/windsurf-company-monitor - Build an agent data feed with Codex: https://synorb.com/build/codex-agent-data-feed - Build an AI newsletter with Lovable: https://synorb.com/build/lovable-ai-newsletter - Build a research dashboard with Cursor: https://synorb.com/build/cursor-research-dashboard - Build a Next.js AI news app: https://synorb.com/build/nextjs-ai-news-app - Build an agent research monitor: https://synorb.com/build/agent-research-monitor Agent-specific build intent pages: - How to Build a Client Briefing Portal with Lovable and Synorb: https://synorb.com/build/lovable-client-briefing-portal - How to Build a Market Intelligence App with Lovable and Synorb: https://synorb.com/build/lovable-market-intelligence-app - How to Add a Content Feed API with Cursor and Synorb: https://synorb.com/build/cursor-content-feed-api - How to Build a Policy Monitor with Cursor and Synorb: https://synorb.com/build/cursor-policy-monitor - How to Build a Next.js Research Dashboard with Cursor and Synorb: https://synorb.com/build/cursor-nextjs-research-dashboard - Build a 50-State Policy Signal Room with Replit and Synorb: https://synorb.com/build/replit-statehouse-alert-app - Build an Exact-Source Policy Wire with Replit and Synorb: https://synorb.com/build/replit-slack-email-policy-watcher - How to Build a Public Issue Microsite with Bolt and Synorb: https://synorb.com/build/bolt-public-issue-microsite - How to Build a State Policy Dashboard Prototype with Bolt and Synorb: https://synorb.com/build/bolt-state-policy-dashboard - How to Design a Policy Dashboard UI with v0 and Synorb: https://synorb.com/build/v0-policy-dashboard-ui - How to Build a Source-Linked Briefing Component with v0 and Synorb: https://synorb.com/build/v0-source-linked-briefing-component - How to Design a Statehouse Briefing Workflow with Claude and Synorb: https://synorb.com/build/claude-statehouse-briefing-workflow - How to Add a Production Feed Integration with Codex and Synorb: https://synorb.com/build/codex-production-feed-integration - How to Build a Watchlist Monitor with Windsurf and Synorb: https://synorb.com/build/windsurf-watchlist-monitor AI operator and developer intent pages: - Content feeds for AI: https://synorb.com/content-feeds-for-ai - AI feed definition: https://synorb.com/ai-feed - RSS feeds for AI agents: https://synorb.com/rss-feeds-for-ai-agents - RAG data streams: https://synorb.com/rag-data-streams - Market intelligence feeds for AI agents: https://synorb.com/market-intelligence-feeds-for-ai-agents - AI-readable website feeds: https://synorb.com/ai-readable-website-feeds - Synorb vs. web scraping for AI agents: https://synorb.com/synorb-vs-web-scraping - Why web scraping breaks in agentic workflows: https://synorb.com/why-web-scraping-breaks-in-agentic-workflows - Real-time content feeds for AI agents: https://synorb.com/real-time-content-feeds-for-ai-agents - Source-grounded content API: https://synorb.com/source-grounded-content-api - Web search alternative for AI agents: https://synorb.com/web-search-alternative-for-ai-agents - Context graph for AI agents: https://synorb.com/context-graph-for-ai-agents - Structured content API for AI agents: https://synorb.com/structured-content-api-for-ai-agents - Agent web search API pattern: https://synorb.com/agent-web-search-api - Real-time web data for AI agents: https://synorb.com/real-time-web-data-for-ai-agents - Low-cost web search alternative for AI agents: https://synorb.com/low-cost-web-search-alternative-for-ai-agents - What Are Content Feeds for AI Agents?: https://synorb.com/what-are-content-feeds-for-ai-agents - Best Content Feeds for AI Agents: https://synorb.com/best-content-feeds-for-ai-agents - Data Feeds for AI Agents: https://synorb.com/data-feeds-for-ai-agents - Context Feeds for AI Agents: https://synorb.com/context-feeds-for-ai-agents - Inject Web Context Into AI Agents: https://synorb.com/inject-web-context-into-ai-agents - Keep AI Agents Up to Date: https://synorb.com/keep-ai-agents-up-to-date - Agent Context API: https://synorb.com/agent-context-api - Real-Time RAG Data Sources: https://synorb.com/real-time-rag-data-sources - Source-Grounded RAG: https://synorb.com/source-grounded-rag - Web Context API for AI Agents: https://synorb.com/web-context-api-for-ai-agents - MCP Server for Content Feeds: https://synorb.com/mcp-server-for-content-feeds - Feed API for AI Agents: https://synorb.com/feed-api-for-ai-agents - LLM Data Feeds: https://synorb.com/llm-data-feeds - Structured Web Data for LLMs: https://synorb.com/structured-web-data-for-llms - AI Agent News Feed: https://synorb.com/ai-agent-news-feed - Crawl vs Feed for AI Agents: https://synorb.com/crawl-vs-feed-for-ai-agents - Provenance API for AI Agents: https://synorb.com/provenance-api-for-ai-agents - Best Web Search API for AI Agents: https://synorb.com/best-web-search-api-for-ai-agents - Web Access for AI Agents: https://synorb.com/web-access-for-ai-agents - AI Agent Web Access API: https://synorb.com/ai-agent-web-access-api - Real-Time Web Data API for LLMs: https://synorb.com/real-time-web-data-api-for-llms - LLM-Ready Web Data: https://synorb.com/llm-ready-web-data - Data Grounding for AI Agents: https://synorb.com/data-grounding-for-ai-agents - LLM Data Grounding API: https://synorb.com/llm-data-grounding-api - AI Search API for RAG: https://synorb.com/ai-search-api-for-rag - RAG Pipeline with Live Web Data: https://synorb.com/rag-pipeline-with-live-web-data - MCP Server for Web Data: https://synorb.com/mcp-server-for-web-data - MCP Server for AI Search: https://synorb.com/mcp-server-for-ai-search - Agentic Web Search: https://synorb.com/agentic-web-search - Web Crawling API for AI Agents: https://synorb.com/web-crawling-api-for-ai-agents - Structured Data Extraction for LLMs: https://synorb.com/structured-data-extraction-for-llms - Knowledge Graph for AI Agents: https://synorb.com/knowledge-graph-for-ai-agents - Temporal Knowledge Graph for AI: https://synorb.com/temporal-knowledge-graph-for-ai - Live Context API for AI Applications: https://synorb.com/live-context-api-for-ai-applications - Source-Cited AI Search API: https://synorb.com/source-cited-ai-search-api - Provenance Layer for RAG: https://synorb.com/provenance-layer-for-rag - Live Web Context for RAG: https://synorb.com/live-web-context-for-rag - News Feeds for AI Agents and RAG Applications: https://synorb.com/news-feeds-for-ai-agents-and-rag-applications - Data Feeds for AI Agents and RAG Applications: https://synorb.com/data-feeds-for-ai-agents-and-rag-applications - MCP Server for News Feeds: https://synorb.com/mcp-server-for-news-feeds - Agentic Search API for News: https://synorb.com/agentic-search-api-for-news - RAG News Data Pipeline: https://synorb.com/rag-news-data-pipeline - Real-Time News Data Feed for LLM Grounding: https://synorb.com/real-time-news-data-feed-for-llm-grounding - JSON News API for AI Agents: https://synorb.com/json-news-api-for-ai-agents - Markdown News Feed for LLMs: https://synorb.com/markdown-news-feed-for-llms - Structured News Feed for AI Agents: https://synorb.com/structured-news-feed-for-ai-agents - News Dataset with Extracted Entities: https://synorb.com/news-dataset-with-extracted-entities - News API with Sentiment and Signals: https://synorb.com/news-api-with-sentiment-and-signals - Semantic Search API for Live News: https://synorb.com/semantic-search-api-for-live-news - LLM-Optimized News Search API: https://synorb.com/llm-optimized-news-search-api - News Data Feed with Deduplication: https://synorb.com/news-data-feed-with-deduplication - News Clustering API for Event Detection: https://synorb.com/news-clustering-api-for-event-detection - External Data for AI Agents: https://synorb.com/external-data-for-ai-agents - AI Agent Knowledge Base API: https://synorb.com/ai-agent-knowledge-base-api - RAG Ingestion API: https://synorb.com/rag-ingestion-api - Retrieval API for AI Agents: https://synorb.com/retrieval-api-for-ai-agents - Agentic RAG Data Sources: https://synorb.com/agentic-rag-data-sources - MCP Data Source Server: https://synorb.com/mcp-data-source-server - MCP Server for RAG: https://synorb.com/mcp-server-for-rag - Grounding API for AI Applications: https://synorb.com/grounding-api-for-ai-applications - Citation API for AI Agents: https://synorb.com/citation-api-for-ai-agents - Live Knowledge Base for AI Agents: https://synorb.com/live-knowledge-base-for-ai-agents - Agent Memory vs Context Feeds: https://synorb.com/agent-memory-vs-context-feeds - Vector Database Feed for RAG: https://synorb.com/vector-database-feed-for-rag - Agent Tool Data Source: https://synorb.com/agent-tool-data-source - AI App Data Layer: https://synorb.com/ai-app-data-layer - Fresh Context for LLM Apps: https://synorb.com/fresh-context-for-llm-apps - AI Agent Data Feeds: https://synorb.com/ai-agent-data-feeds - Structured Web Data for AI Agents: https://synorb.com/structured-web-data-for-ai-agents - RAG Data Feeds: https://synorb.com/rag-data-feeds - AI Agent Data API: https://synorb.com/ai-agent-data-api - Web Data API for AI Agents: https://synorb.com/web-data-api-for-ai-agents - Agent-Ready Datasets: https://synorb.com/agent-ready-datasets - Source-Grounded Context API: https://synorb.com/source-grounded-context-api - Web Data for RAG: https://synorb.com/web-data-for-rag - AI Agent Data Infrastructure: https://synorb.com/ai-agent-data-infrastructure - Agent-Ready Web Data: https://synorb.com/agent-ready-web-data ## Key Glossary Record Ingested content payload — one article, podcast, data release Source Channel Specific watched source surface feeding the graph Claim Atomic assertion (15–50 per record). Type + confidence + evidence Signal Structured claims for reasoning systems completing workflows Brief Structured narrative for reasoning systems delivering info to human operators. Additive optional fields may include tldr, facts, why_it_matters, timeline, unresolved, signal_digest, and family details. Stream Filtered delivery view — content organized by theme Tag Resolved entity: person, organization, place, topic, data, or resource Topic Curated thematic category from Synorb's topic taxonomy Manifest Delivery unit. Core MCP and all plans receive Signal + Brief plus source metadata; full Records are Enterprise-only via REST Digest Grouping of manifests. Synorb Digests (Enterprise included) or User Digests (org-built) Beacon Saved query configuration. Executed on demand by beacon_id with an explicit date window or lookback. Synorb does not run Beacons on a schedule Domain One of 12 canonical knowledge domains ## MCP Servers (Recommended for Agents) Auth: use `Authorization: Bearer YOUR_TOKEN` with Streamable HTTP for new integrations. x-access-token and query-token URLs remain backward-compatible alternatives for older connector hosts. For the REST API, `api-key` + `secret` headers are the primary auth; the same token is also accepted there via the `x-access-token` header. Session lifecycle: All MCP users and hosts should reuse a persistent Streamable HTTP MCP session/connection for interactive agent workflows. Initialize once for the user or workspace, keep the session warm across tools/list and follow-on tool calls, and reuse it for the agent loop. Cold sessions and one-shot initialize/call/close flows are supported for compatibility and diagnostics, but they are not the recommended low-latency path. Use REST/Fast APIs for stateless per-call usage, scheduled jobs, dashboards, tests, deterministic polling, server-side product paths, and REST-shaped contracts. Use Core MCP by default. It exposes one profile utility plus seven workflow tools needed for temporal context, including tools to configure, save, and list reusable Beacons. Two transports are supported — use Streamable HTTP for new integrations: Streamable HTTP (recommended): { "mcpServers": { "synorb": { "url": "https://mcp.synorb.com/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } } SSE (legacy, still supported): { "mcpServers": { "synorb": { "url": "https://mcp.synorb.com/sse?token=YOUR_TOKEN" } } } Core MCP tools: 1. synorb-profile Check plan, quota, refresh tier, content access, and allowed date window. 2. synorb-stream-search Inventory concierge — find what streams, podcasts, and publishers are available by topic, keyword, or category. No manifest quota cost. Use for "what do I have access to?" and topic-without-entity queries. 3. synorb-catalog Find Streams ranked by relevance to a topic or intent. Use when user has a broad topic and no specific entity names. 4. synorb-details Inspect selected Streams: source channels (with org_name, category, content_types, source_url, crawl_frequency, description), filters, media formats, volume, recommended Manifest call. 5. synorb-manifests Pull Signal + Brief plus source metadata across one or more Streams with diagnostics and retry guidance. Briefs keep legacy narrative fields and may add optional scan sections such as TL;DR, Key Facts, Why It Matters, Timeline, Unresolved, Signal Digest, and family-specific details. Accepts beacon_id + lookback_hours or published_date_from/published_date_to to execute a saved Beacon on demand. 6. synorb-configure-beacon Translate a natural-language tracking intent into a proposed Beacon (streams, topics, default date window, prompt). Returns "ready" or "needs_clarification" with 2-4 questions. 7. synorb-save-beacon Save a proposed Beacon to the caller's account and return beacon_id. No manifest quota cost. Use only when the user asks to save/create/store a reusable Beacon. 8. synorb-beacons List the org's saved Beacons (status/tag/name search). No manifest quota cost. 9. synorb-archive-beacon Archive a saved Beacon by beacon_id. No manifest quota cost. Use when the user asks to archive/clean up a saved Beacon or for approved eval cleanup. Beacons are available on every plan with per-plan caps (Starter 10, Individual 50, Professional 250, Startup 1,000, Enterprise unlimited). Beacon save flow for LLM hosts: If the user asks to save/reuse a query or tracking setup, call synorb-configure-beacon first. If it returns status="ready" and the user wants it saved, improve obvious metadata before saving: a short useful name, plain-English description, and 1-5 lowercase tags. Keep stream/source/topic/entity scope faithful to the proposal and user request. Call synorb-save-beacon with the refined proposal and return beacon_id. Use synorb-beacons to find existing saved Beacons. Beacons are available on every plan with per-plan count caps. If synorb-save-beacon returns beacon_limit_exceeded, stop and tell the user to archive an active Beacon (synorb-archive-beacon) or upgrade their plan for a higher cap. Caps: Starter 10, Individual 50, Professional 250, Startup 1,000, Enterprise unlimited. Use synorb-archive-beacon only for explicit user cleanup/archive or approved eval cleanup. Run later with synorb-manifests(beacon_id=..., lookback_hours=...) or explicit published_date_from/published_date_to. Stream inventory/access rule: If the user asks "what streams do I have access to", "show my streams", "what podcasts do you have", "business podcasts", "do you have Bloomberg", or another source/publisher availability question, call synorb-stream-search. Do not route inventory through synorb-catalog and do not ask the user to narrow before using the inventory concierge when media/source intent is clear. Core MCP has no sync tools. On Advanced MCP, do NOT call synorb-syncs for inventory. synorb-syncs lists optional customer identifier mappings only. Empty syncs does not mean no Stream access. Advanced MCP is a separate configured surface: { "mcpServers": { "synorb-advanced": { "url": "https://mcp.synorb.com/advanced/mcp", "headers": { "Authorization": "Bearer YOUR_TOKEN" } } } } Use Advanced only for digests, sync ontology mappings, labels, prompt templates, or low-level signal/brief/record tools. Connection flow: - MCP-compatible clients and partner hosts validate mcp_token with GET https://mcp.synorb.com/profile?token=..., install Core MCP by default, and add Advanced MCP only for configured workflows. - REST/API clients and partners validate api-key + secret with GET https://api.synorb.com/account and fetch Manifests through REST for scheduled jobs, server-side product paths, deterministic polling, or REST-shaped contracts. Authenticated MCP also supports high-throughput relevant Manifest pulls under monthly quota and per-call caps. Profile/quota endpoints: MCP: GET https://mcp.synorb.com/profile?token=YOUR_TOKEN REST: GET https://api.synorb.com/account Headers: api-key + secret Programmatic bootstrap: GET https://synorb.com/connect Returns API key, secret, MCP token, MCP URLs, and starter instructions for new Starter accounts. Compact mode by default — headlines + summaries only. Set compact=False for full bodies. Content gated by plan at execution time. REST errors, retries, caching (details: https://synorb.com/llms-full.txt): 429 carries detail.error_code — "rate_limited" (wait Retry-After seconds, retry) vs "quota_exhausted" (retry won't help until detail.quota_resets_on; upgrade or wait). 409 detail.error_code "idempotency_conflict" — same Idempotency-Key, different payload. Send Idempotency-Key on POST /v3/beacons, POST /digests, POST /keys/regenerate, POST /webhooks to make retries safe (replay returns the original response). Hot GETs (/plans, /streams, digest lists, /ontology/tags) return ETag; send If-None-Match to get 304 Not Modified — no body, no quota consumed. Hard-cap plans: a page crossing the monthly limit is clamped and annotated with data.quota_clamped=true and recomputed pagination. MCP usage policy: authenticated users can make high-throughput relevant Manifest pulls. Normal controls are monthly Manifest quota, per-call page_size/target_count caps, date-window and content-access gates, and relevance/off-topic controls. synorb-profile, synorb-stream-search, synorb-catalog, synorb-details, synorb-configure-beacon, synorb-save-beacon, synorb-beacons, and synorb-archive-beacon are zero-quota. synorb-manifests bills only returned on-topic Manifests. Old tiny 10/min or inherited REST/global per-minute caps do not apply to MCP content pulls. Emergency backpressure is burst-friendly and may return Retry-After only for unusual bursts. Current emergency buckets are high by design: discovery tools sustain 10 requests/second with 300-request bursts, Manifest/content tools sustain 5 requests/second with 240-request bursts, and full Records sustain 2 requests/second with 120-request bursts. ## After Connecting — What To Do First Routing decision: - User names specific companies, people, or orgs -> call synorb-manifests directly with tag_names. Skip catalog and stream-search. - User asks what is available, uses qualitative terms ("business podcasts", "do you have X?") -> call synorb-stream-search. - User has a topic but no specific source scope -> call synorb-catalog, optionally synorb-details, then synorb-manifests. - User has a broad topic with obvious domain/date scope -> one compact synorb-manifests call can be enough; Core may auto-plan within the request. Standard workflow loop (when stream discovery is needed): 1. Interpret the user's intent: topic/company/domain/media/time horizon/result count. 2. Run synorb-stream-search(query='...') OR synorb-catalog(query='...', home_domains=[...], media_format='...', page_size=10-25) depending on routing above. 3. Run synorb-details(stream_ids=[...]) on the most relevant candidates (optional). 4. Run synorb-manifests(stream_ids=[...], tag_names=[...], significance='high', target_count=N). 5. Inspect diagnostics.retry_guidance. If thin, relax significance, add adjacent Streams, broaden home_domains, or remove narrow tags. If broad, add tag_names, media_format, source channel filters, or dates. Direct-question routing: - Quota, plan, usage, delivery model (refresh_tier), connector status, or date-window questions: call synorb-profile only. - Stream inventory, source availability, or "what data is available": call synorb-stream-search and answer from coverage, pagination, inventory_summary, counts, and results. - Same-Manifest co-mention/count/list questions: call synorb-manifests directly with tag_names for each entity, tag_logic='and', tag_type when clear, and the user's date range. Report pagination.total_count and list returned Manifests. - Direct Manifest questions with known stream_ids/home_domains/source_channel_ids/source_channel_names and filters: call synorb-manifests directly. For exact source/form requests, pass source_channel_names or source_channel_ids and return no results instead of substituting adjacent sources; for SEC Form 8-K, use sec_form_type='8-K' with ticker='NVDA' (or another company identifier); do not treat catalog absence as proof 8-K content is unavailable. - Broad research without known Streams: use catalog -> details -> manifests. synorb-manifests is the primary multi-Stream Manifest tool. It accepts stream_ids or home_domains, cross_domains/cross_domain_logic, published_date_from/to, tag_names/tag_ids, tag_type, tag_logic, media_format, source_channel_ids, source_channel_names, ticker, isin, sec_form_type, significance, page_size, target_count, and compact. It also accepts explicit exclusion parameters: exclude_tag_names, exclude_tag_ids, exclude_query_terms, exclude_source_channel_ids, and exclude_home_domains. Prefer these over natural-language negation in the user prompt — indexed exclusion is precise; natural-language NOT is best-effort. Use tag_names for topics, organizations, people, products, places, and data series. Add tag_type when clear: topic, organization, person, place, or data. Use tag_logic='and' when every tag must appear in the same Manifest, especially co-mentions like "Elon Musk and Sam Altman over the past 3 weeks"; use tag_logic='or' for any-of lists. Filter model: home_domains: one or more canonical domains. cross_domains + cross_domain_logic: adjacent domains with OR/AND semantics. tag_names or tag_ids: resolved entities, topics, products, places, or data series. tag_type: person, organization, place, topic, data, or resource. tag_logic: and for same-Manifest co-mentions, or for any-of lists. source_channel_ids: specific channels returned by synorb-details. source_channel_names: exact source-channel names/displays when known; ["scotus-opinions"] targets exact legal/policy surfaces. SEC Form 8-K routes through sec_form_type + ticker instead (per-company channels, not a shared feed). Exact source/form requests return no results instead of broadening to adjacent sources. media_format: text, audio, video, social, data, regulatory, or documentation. ticker / isin: public-company securities identifiers. Resolve a stock ticker or ISIN to its company tag, then filter to that company. Comma-separated, exact, case-insensitive (e.g. ticker=NVDA, both GOOGL and GOOG resolve to Alphabet). Prefer the exact ticker/isin filter over free-text ticker search — short or stopword-like tickers (ON, IT) are unreliable as free text. Distinct from the SEC filing-context sec_ticker. sec_form_type: filter SEC-filing manifests by form type — 8-K, 10-Q, 10-K. Comma-separated, exact, case-insensitive. date ranges: published_date_from and published_date_to. Parallel workflow guidance for clients that support parallel MCP calls: - Independent read calls are idempotent and safe to parallelize. - It is useful to parallelize separate synorb-catalog calls for different facets, companies, media formats, or domains. - Merge and dedupe stream_ids, then prefer one synorb-details call and one multi-Stream synorb-manifests call when filters are shared. - Parallelize synorb-manifests only for genuinely different scopes or filters, such as owned sources vs mentions, podcasts vs filings, or separate topics. Keep initial interactive calls compact with page_size 5-20 and target_count 5-12. MCP is best for discovery, filter selection, interactive reasoning workflows, and high-throughput relevant Manifest pulls when an MCP host can keep a warm Streamable HTTP session across tool calls. REST/Fast APIs are better for stateless per-call usage, scheduled jobs, dashboards, tests, deterministic polling, server-side product paths, and REST-shaped contracts. Serving path: Core synorb-manifests uses the managed serving path for recent filterable results and returns guidance when the user should narrow the query. MCP client capabilities: Core tools advertise output schemas. synorb-manifests emits best-effort progress notifications for clients that support MCP progress. Core and Advanced provide completions for common filter arguments such as domains, media formats, significance, stream IDs, source channels, and tag names. Quota receipt contract: Content responses and profile reads should expose monthly limit, used, remaining, period, refresh tier, available date window, and retry guidance. synorb-profile, synorb-stream-search, synorb-catalog, synorb-details, synorb-configure-beacon, synorb-save-beacon, synorb-beacons, and synorb-archive-beacon consume zero Manifest quota; synorb-manifests bills only returned on-topic Manifests. Every Manifest reply MUST begin with the deterministic `quota_header` sentence verbatim. Threshold copy: - normal: "We pulled X Manifests in this call. We used Y of Z monthly Manifests. R remaining; quota resets in D days on YYYY-MM-DD." - 60% used: adds percent remaining. - 80% used: adds friendly upgrade prompt with the dashboard/streams URL. - exhausted: states quota is complete and includes the upgrade/wait path. REST clients should also read X-Synorb-Quota-Limit, X-Synorb-Quota-Used, X-Synorb-Quota-Remaining, X-Synorb-Quota-Reset-Date, X-Synorb-Quota-Reset-Days, X-Synorb-Period, and X-Synorb-Available. MCP hosts should treat Retry-After as emergency burst backpressure only, not as a normal low per-minute usage cap. Citations contract: Every synorb-manifests response includes a deterministic `citations` block (one compact citation per Manifest with citation_id, story_id, headline, stream_name, source_channel_display_name, published_date, canonical_url) and a top-level deduped citations list. ResourceLinks pointing at canonical source URLs are also returned alongside the structured payload. The host-visible content begins with `quota_header`, then a `citation_notice`. Agents MUST cite the relevant `citation_id` or canonical URL with each claim or bullet they present. Index freshness: synorb-profile and synorb-manifests structuredContent include an `index_freshness` block with `last_refresh_at`, `last_indexed_manifest_id`, `manifests_upserted`, and `state` (ready | stale | degraded). Use this to tell the user whether the answer is fully fresh. Degraded mode: If the serving path is stale or a broad query would exceed the interactive budget, Core returns `degraded_mode=true` in profile + manifest payloads with brief guidance to narrow the query (smaller date range, specific stream_ids, or fewer broad domains). Degraded responses do not consume Manifest quota unless Manifests are actually returned. Tell the user we're in degraded mode and offer a narrower retry. Real-world prompt rails: - Fuzzy `did_you_mean`: typo-style tag inputs (e.g. "tarrifs", "ormutz") return suggestion candidates with confidence; the agent should ask the user to confirm before retrying with the suggestion. - Negation warning: natural-language NOT/without/except is detected and best-effort post-filtered. The diagnostics include a `negation_filter` warning recommending the agent surface this and offer the explicit `exclude_tag_names`, `exclude_tag_ids`, `exclude_query_terms`, `exclude_source_channel_ids`, or `exclude_home_domains` parameters on synorb-manifests. - Person collision guard: full-name lookups for ambiguous people return `ambiguous=true` with candidate tags; the agent should ask a clarifying question with the suggested candidates rather than guess. - Casual prompts: "yo what's happening in markets" routes through inventory/concierge guidance, not literal tag filters. Polite failure: Auth errors should ask the user to reconnect or paste a valid MCP token. Quota errors should show exact remaining quota and the upgrade/wait path. Date-window errors should show exact available_from/available_through. Temporary Retry-After/backpressure should wait and retry. Empty or off-topic results should say no on-topic Manifests matched and offer one concrete adjustment. Product feedback and partner issues can go to X @synorb or team@synorb.com. Available prompt templates (Advanced MCP only): morning-briefing, central-bank-watch, earnings-roundup, research-briefing, podcast-recap, vc-landscape, tech-pulse, competitor-watch(company), policy-tracker(topic) Domains for home_domain filter: arts-culture-entertainment, economics-business-work, engineering-technology, everyday-life-practical-knowledge, health-medicine, language-literature, life-environment, people-biography-history, physical-sciences-mathematics, places-geography, society-law-government, universe-earth For REST API agents (Codex, Copilot, Lovable, Bolt, v0), same pattern: 1. GET /account → plan, quota 2. GET /streams?page_size=5 → stream catalog 3. GET /streams/{id} → filters, source channels, volume 4. GET /streams/{id}/manifests?published_date_from=YYYY-MM-DD&published_date_to=YYYY-MM-DD For multi-Stream pulls in code-owned paths, use the query/manifests REST endpoint rather than many MCP calls. ## REST API (Base URL: https://api.synorb.com) Auth: send `api-key` and `secret` headers with every request. MCP tokens (`access_token`) are NOT accepted on general REST content APIs. Use them with the MCP server and MCP profile endpoint. ### Core Endpoints (3-call quickstart) 1. GET /streams — List all streams. Filter by home_domain, is_public, or public-company ticker/isin. Returns volume metrics, plus tickers[], isins[], primary_url on each stream (empty/null for non-public-company streams). isins[] lists only the company's EQUITY share-class ISIN(s) (common/ordinary + share classes, e.g. GOOGL/GOOG, BRK.A/BRK.B; multiple possible); bond/debt ISINs are excluded. The ?isin= filter still matches any ISIN on file (including debt). 2. GET /streams/{id} — Stream details: title, status, stream_class, filters, source_channels, volume metrics, tickers[], isins[], primary_url. 3. GET /streams/{id}/manifests — Source metadata + Signal + Brief in one call; Record on Enterprise. Public-company securities: identifiers (ticker, ISIN, CIK, FIGI) live on the company tag. Filter the catalog by ?ticker= or ?isin= (comma-separated, exact, case-insensitive). Each public-company stream also carries a per-company SEC filings feed (8-K/10-Q/10-K) — filter manifests by ?sec_form_type= (e.g. 8-K,10-K) and/or the SEC source_channel_names. Combine ?ticker= with ?sec_form_type= to scope to one company's filings. ### Content Endpoints GET /streams/{id}/manifests Source metadata + Signal + Brief; Record on Enterprise (primary endpoint) Filter: tag_ids, tag_type, tag_logic, ticker, isin, sec_form_type, published_date_from/to, page, page_size GET /streams/{id}/signals Signals only (structured claims) GET /streams/{id}/briefs Briefs only (structured narratives) GET /streams/{id}/records Records only (Enterprise) GET /manifests/{record_id} Single manifest by record ID Platform/Firehose Endpoints (dedicated granular access by manifest ID): GET /signal/{manifest_id} Signal by manifest ID (Platform only) GET /brief/{manifest_id} Brief by manifest ID (Platform only) GET /record/{manifest_id} Record by manifest ID (Platform only) Manifest access is gated by plan: Signal — Structured claims extraction All plans Brief — Structured narrative summary All plans Record — Structured content objects, enriched with entity tags and topics Enterprise only ### Common Query Parameters published_date_from date Start date (YYYY-MM-DD) published_date_to date End date (YYYY-MM-DD) page int 0-indexed page number page_size int Max 200, default 50 ### Account & Management GET /account Profile, plan, quota GET /keys Active credentials POST /keys/regenerate New credentials GET /usage Usage history ### Beacons (Beacon API) A Beacon is a reusable recipe for agent context retrieval — saved stream/source/topic/entity scope, default date window, and output prompt. Customers execute Beacons on demand from their own cron, workflow engine, or agent runtime. Synorb does not run Beacons on a schedule. Each run must supply an explicit date window or lookback. The REST path and public handle are /v3/beacons and beacon_id. POST /v3/beacons Create Beacon GET /v3/beacons List org's Beacons (status, tag, q, collection_id) GET /v3/beacons/{beacon_id} Get one Beacon PATCH /v3/beacons/{beacon_id} Update Beacon (bumps revision, appends to history) POST /v3/beacons/{beacon_id}/archive Archive (cannot execute until restored) POST /v3/beacons/{beacon_id}/restore Restore to draft DELETE /v3/beacons/{beacon_id} Soft-delete GET /v3/beacons/{beacon_id}/revisions Last 20 revisions Execution by beacon_id (no new endpoint): GET /streams/{stream_id}/manifests?beacon_id={beacon_id}&lookback_hours=24`n GET /digests/{digest_id}/manifests?beacon_id={beacon_id}&lookback_hours=24 Beacon POST body fields: name (required), description, tags[], natural_language_intent, stream_ids[], source_channel_ids[], topic_filters[], entity_filters[], default_date_window, prompt_template_id, prompt_text, status (draft|active|archived). Plan availability: Beacons are available on every plan with per-plan count caps. Starter 10, Individual 50, Professional 250, Startup 1,000, Enterprise unlimited. When the org is at its cap, synorb-save-beacon returns beacon_limit_exceeded — the user can archive an active Beacon or upgrade their plan for a higher cap. Hidden payload caps: config 64 KB, intent 4 KB, prompt 16 KB, source/channel IDs ~250, topic/entity filters 100-250 combined, revision history last 20. Errors when executing by beacon_id: 404 beacon_not_found — missing, soft-deleted, or cross-org 409 beacon_archived — restore before running 422 date_window_required — supply published_date_from+published_date_to or lookback_hours 422 unauthorized_source_broadening — pass broaden_sources=true to allow caller-supplied streams/channels/topics ### Digest Builder (Startup | Enterprise) Custom groupings of manifests. Build with stream IDs, dynamic filters, or both. POST /digests Create digest (stream_ids + filter_spec) GET /digests List your org's digests GET /digests/{id} Digest detail + resolved streams PUT /digests/{id} Update digest DELETE /digests/{id} Soft-delete POST /digests/{id}/activate Re-enable deactivated digest POST /digests/{id}/deactivate Pause digest POST /digests/{id}/streams Add streams to digest DELETE /digests/{id}/streams Remove streams from digest POST /digests/preview-filter Preview matching streams GET /digests/{id}/manifests Manifests across all digest streams GET /digests/{id}/briefs Briefs across all digest streams GET /digests/{id}/signals Signals across all digest streams filter_spec dimensions: topic, tag, domain, source, source_type, claim_type, media_format ### Ontology Sync (Enterprise) Map Synorb tags and topics to your own identifiers. Once synced, every delivery payload includes your IDs automatically. POST /ontology/sync Create or update a sync (object_type, object_id, external_id, external_name, labels) DELETE /ontology/sync/{id} Remove a sync (soft delete) GET /ontology/syncs List active syncs (filter by object_type, label) GET /ontology/tags Search tag catalog (fuzzy match) GET /ontology/topics Browse topic catalog POST /ontology/labels Create custom label GET /ontology/labels List label definitions Python SDK: pip install synorb client = Synorb(api_key="KEY", api_secret="SECRET") client.ontology.sync(tag_id=1234, external_id="CRM-TSLA-001") client.ontology.unsync(tag_id=1234) ### Synorb Digests (Enterprise Included) Pre-curated intelligence bundles. 5,000 manifests/month hard cap per digest. Enterprise plans can add digests directly - no standalone subscription checkout. GET /api/digests Browse public catalog (no auth) POST /digests/synorb/{id}/add Add Synorb Digest (Enterprise included) DELETE /digests/synorb/{id}/remove Remove Synorb Digest from account GET /digests/synorb List added Synorb Digests GET /digests/{id}/manifests Fetch manifests (same endpoint as user digests) ### Webhooks (Professional | Startup | Enterprise) GET /webhooks List webhooks POST /webhooks Register (returns signing secret). Optional stream_id or digest_id to scope. POST /webhooks/{id}/test Send test event GET /webhooks/{id}/logs Delivery history POST /webhooks/{id}/disable Disable (reversible) POST /webhooks/{id}/reactivate Re-enable DELETE /webhooks/{id} Delete permanently Events: manifest.matched — Real-time. A new manifest was routed to a subscribed stream. stream.created — On publish. A new stream went live on the platform. stream.removed — On action. A stream was permanently deactivated. Payload includes reason. stream.unpublished — On action. A stream was temporarily unpublished (may return). Payload includes reason. digest.new_content — Real-time. A new manifest was routed to a stream in your digest. digest.created — On action. A Synorb Digest was added to your account. digest.updated — On action. A digest was updated. Payload includes message describing changes. digest.removed — On action. A Synorb Digest was removed from your account. HMAC: X-Synorb-Signature: sha256= Retry: 3 attempts (0s, 60s, 300s). 10 failures = auto-disable. ### S3 Export (Startup | Enterprise) GET /backfill/grants List export grants POST /backfill/{grant_id}/download Presigned S3 URL (7-day validity) POST /export/trigger Trigger bulk export ### Billing GET /plans Available plans with pricing GET /subscription Current subscription POST /subscription/change Upgrade/downgrade POST /subscription/cancel Cancel POST /subscription/reactivate Reactivate ## WebSocket Firehose (Platform product) Connect: wss://ws.synorb.com Auth: {"type":"auth","token":"YOUR_TOKEN"} Subscribe: {"type":"subscribe","streams":[id],"domains":["..."],"tag_types":["..."]} Stories pushed as they arrive. ## Data Model ### Three Delivery Formats (bundled in manifests) Signal Structured claims extraction (15-50 atomic assertions per record) body contains: claims (array), entity_details (array), topics (array), domain_classification (object) Brief Structured narrative summary (headline, summary, body, body_markdown, sentiment, significance) body contains: key_insights (array of strings), notable_quotes (array of objects), entity_details (array of objects), topics (array of strings), domain_classification (object) body_markdown: Markdown-rendered brief (## Key Insights, ## Notable Quotes, etc.) Audio manifests (media_format="audio") include 4 additional body fields: actionable_takeaways Array of strings — actionable recommendations guest_details Array of {name, title, affiliation} for guests/performers cross_promotion Array of strings — mentions of other shows/products/platforms cultural_relevance String or null — why this content matters in the current context Audio body_markdown additionally renders: ## Actionable Takeaways, ## Guest or Performer Details, ## Cross-Promotion, ## Cultural Relevance Record Structured content objects, enriched with entity tags and topics (Enterprise only) IMPORTANT: entity_details is always an ARRAY of objects (list of dicts), not a dict. Each object has: { "tag_type": "Organization|Person|Place|Topic", "tag_value": "string" } This field appears in signal.body, brief.body, and record.extra_data.extraction. ### Claim Properties claim_type statement | data | event | forecast | analysis confidence stated | implied | inferred | measured evidence direct_quote | paraphrase | derived | observed ### Source Types person Individual (founder, researcher, executive) organization Company, publication, government body, institution data Statistical or data feed (indices, filings, datasets) ### Media Formats text Articles, blog posts, reports, press releases audio Podcasts, earnings calls, conference talks video YouTube, keynotes, TV interviews social Tweets/X posts, threads data Statistical releases, datasets, indices regulatory SEC filings, government disclosures documentation Vendor changelogs, API references, release notes ### Tag Types (Ontology) person Named individual organization Company, institution, government body place Geographic location topic Subject matter data Data source or dataset resource Named addressable thing (API endpoint, model SKU, SDK package) ### Stream Types Discovery Structured summaries from human web content (news, blogs, reports) Narrative Machine-written narratives from numerical/statistical data sources Research Analysis reports written for machine consumption ### 12 Canonical Domains arts-culture-entertainment economics-business-work engineering-technology everyday-life-practical-knowledge health-medicine language-literature life-environment people-biography-history physical-sciences-mathematics places-geography society-law-government universe-earth ### Quality Scores significance 0–100. How important the content is within its domain. sentiment -1.0 to 1.0. Directional sentiment of content. ## Plans & Pricing STREAMS PRODUCT Starter $0 1,000 manifests/mo Core MCP + REST API. 10 Beacons. Signals + Briefs. Individual $20/mo 10,000 manifests/mo or $192/yr (20% off annual). Core MCP + REST API. 50 Beacons. Signals + Briefs. Professional $100/mo 100,000 manifests/mo or $960/yr (20% off annual). Core MCP + REST API + Webhooks. 250 Beacons. Signals + Briefs. Startup $500/mo 1,000,000 manifests/mo or $4,800/yr (20% off annual). Core MCP + Advanced MCP + REST API + Digest Builder + Webhooks + S3. 1,000 Beacons. ACH only, no cards. Signals + Briefs. Enterprise Contact us Custom Core MCP + Advanced MCP + REST API + Digest Builder + Synorb Digests + Webhooks + Sync Ontology + Support. Signals + Briefs + Records. Platform (Firehose) Contact us Custom All channels + WebSocket. Sync Ontology. Signals + Briefs + Records. MANIFEST ACCESS Signal Structured claims extraction All plans Brief Structured narrative summary All plans Record Structured content objects, enriched with entity tags and topics Enterprise only FEATURE GATING Core MCP All plans REST API All plans Digest Builder Startup | Enterprise Synorb Digests Enterprise (included) Webhooks Startup | Enterprise S3 Export Startup | Enterprise Records Enterprise only Sync Ontology Enterprise only Support Enterprise only DELIVERY MODEL Manifests are produced continuously. Customer-facing delivery is one of two modes. Daily Batch Batch at 0 UTC. Yesterday's manifests available today. Continuous Delivery Real-time. Manifests available as produced. Starter | Individual | Professional | Startup: Daily Batch delivery (refresh_tier='daily'). Enterprise: Continuous Delivery (refresh_tier='continuous'). OVERAGE Starter: hard cap. Individual | Professional | Startup: $0.001/manifest. Enterprise: negotiated. PAYMENT Starter: none. Individual | Professional: Credit Card. Startup: ACH. Enterprise: Wire. Synorb Digests: Pre-curated bundles included at no additional charge on Enterprise. ## Response Headers X-Synorb-Quota-Limit Monthly manifest limit X-Synorb-Quota-Used Manifests consumed this period X-Synorb-Quota-Remaining Manifests remaining X-Synorb-Quota-Reset-Date First day of next period (YYYY-MM-DD) X-Synorb-Quota-Reset-Days Days until the quota resets X-Synorb-Period Current billing period (YYYY-MM) X-Synorb-Available Content access, e.g. "signal, brief" ## MCP Tools Reference Core MCP — Streamable HTTP (recommended): `https://mcp.synorb.com/mcp` with `Authorization: Bearer YOUR_TOKEN` Core MCP — SSE (legacy): `https://mcp.synorb.com/sse?token=YOUR_TOKEN` Advanced MCP — Streamable HTTP (recommended): `https://mcp.synorb.com/advanced/mcp` with `Authorization: Bearer YOUR_TOKEN` Advanced MCP — SSE (legacy): `https://mcp.synorb.com/advanced/sse?token=YOUR_TOKEN` HTTP profile endpoint: `https://mcp.synorb.com/profile?token=YOUR_TOKEN`. ### Core MCP: Primary Agent Workflow synorb-profile Check plan, quota, refresh tier, content access, allowed date window, index_freshness, and degraded_mode synorb-stream-search Find stream/source/podcast inventory and availability; concierge route for access questions synorb-catalog Find Streams by user intent, search, home_domain/home_domains, media_format synorb-details Inspect Stream filters, source channels (org_name, category, content_types, source_url, description, crawl_frequency, avg_items_30d), media formats, volume, and recommended Manifest call synorb-manifests Pull Signal + Brief plus source metadata across stream_id, stream_ids, home_domains, or exact source channels Params: tag_ids, tag_names, tag_type, tag_logic, media_format, source_channel_ids, source_channel_names, significance, dates, target_count, compact Exclusions: exclude_tag_names, exclude_tag_ids, exclude_query_terms, exclude_source_channel_ids, exclude_home_domains structuredContent: citations (deduped), index_freshness, degraded_mode ### Advanced MCP: Discovery + Stream Content Tools synorb-streams Advanced catalog alias for explicit browsing synorb-stream-info Advanced single-Stream detail alias synorb-signals Structured claims — atomic assertions with confidence/evidence synorb-briefs Editorial narratives — key insights, quotes, takeaways (recommended) synorb-multi-stream Advanced legacy multi-Stream story search; prefer synorb-manifests synorb-records Raw source content (Enterprise only) synorb-account Advanced compatibility alias for plan, quota, endpoints; prefer synorb-profile synorb-digests List digest bundles (Synorb + User) synorb-digest-manifests Content from a digest across all its streams ### Sync Ontology Tools synorb-tags Search all 6 types: person, org, place, topic, data, resource synorb-sync Map Synorb entity to your customer identifier; not a Stream subscription synorb-unsync Remove a sync synorb-syncs List customer identifier mappings; not Stream inventory/access synorb-label Create label for organizing syncs synorb-labels List your labels ### Help & Workflow Tools synorb-guide Quick start guide — content types, filters, domains, prompts synorb-prompts 9 pre-built workflow prompts with step-by-step instructions Params: name (optional — e.g. 'morning-briefing', 'competitor-watch:Google') ### Prompt Templates (9 pre-built workflows — also available via synorb-prompts tool) morning-briefing Executive overnight briefing central-bank-watch Fed/ECB monetary policy update earnings-roundup Latest earnings results and guidance research-briefing Investment bank/asset manager research digest podcast-recap Best business podcast episodes this week vc-landscape What top VCs are writing about tech-pulse Engineering + AI + tech leader roundup competitor-watch(company) Track a specific company policy-tracker(topic) Think tank research on a topic ### Resources synorb://guide Quick start guide synorb://domains 12 canonical domains with coverage examples ## Licensing & Attribution - Cite source URLs when presenting Synorb-sourced claims - Do not redistribute full source payloads outside your application - Terms: https://synorb.com/terms - Contact: team@synorb.com ## Coding-agent build library - Browse all one-shot builds: https://synorb.com/build - Lovable integration and build library: https://synorb.com/build/lovable-mcp - Replit integration and build library: https://synorb.com/build/replit-mcp - Helpful tools and product examples for coding-agent builders: https://synorb.com/platforms/coding-agents - Lovable builder page: https://synorb.com/platforms/lovable - Replit builder page: https://synorb.com/platforms/replit - Video sitemap: https://synorb.com/video-sitemap.xml These demos, prompts, and setup guides were built independently by Synorb. Platform sponsorship or endorsement is stated only when confirmed.