Every response includes a usage block with your current quota. Pagination uses 0-indexed pages. The X-Synorb-Quota-Remaining header is also set on every response.
04
MCP Servers
Three server tiers. Same three shared tools. Only the stories tool changes.
$ connect basicmcp.synorb.com/basic
For small models — Haiku, GPT-4o-mini
synorb-stream-stories$ connect standardmcp.synorb.com/standard
For large context — Sonnet, GPT-4o
synorb-stream-stories-advanced$ connect reasonermcp.synorb.com/reasoner
For reasoning — Opus, o1, o3
synorb-stream-stories-advanced-logic
Shared Tools
Available on all three servers.
synorb-profile
Account info, plan details, and quota.
synorb-stream-catalog
List all streams with metadata, volume metrics, and available filters.
synorb-stream-details
Filters, schema, and allowed values for a specific stream.
Stories Tools
Each server tier includes one stories tool matched to its model class.
synorb-stream-stories
Single stream, simple key-value filters. Best for small context models.
"Get AI signals from stream 5 this week"
Param
Type
Required
stream_id
int
yes
published_date_from
date
yes
published_date_to
date
yes
filters
[{key, value}]
no
page_size
int
no
synorb-stream-stories-advanced
Multiple streams in parallel. Search across the library at once.
"Search streams 5, 12, and 23 for fintech stories this month"
Param
Type
Required
stream_ids
[int]
yes
published_date_from
date
yes
published_date_to
date
yes
filters
[{key, operator, value}]
no
page_size
int
no
synorb-stream-stories-advanced-logic
Multi-stream with AND/OR operators. Complex queries for reasoning models.
"Find stories about (Tesla OR SpaceX) AND funding"
Featured claims are linked to brief key points via key_point_index.
Briefs
Editorial narratives for humans. Headline, summary, body, sentiment, significance score, and reading time.
Records
Raw ingested content with full provenance — source URL, publication date, author, content type, and extraction metadata.
Streams
Filtered views over content. Three types:
Discovery — structured summaries from web content (news, blogs, reports).
Narrative — machine-written narratives from numerical and statistical data.
Research — analysis reports written for machine consumption.
Domains
Every stream has one home domain and three cross-domains. 12 canonical domains:
arts-culture-entertainment
economics-business-work
engineering-technology
everyday-life-practical-knowledge
health-medicine
people-biography-history
language-literature
life-environment
physical-sciences-mathematics
places-geography
society-law-government
universe-earth
08
Plans & Limits
STREAMS PRODUCTPlanStories/moContentChannelsPrice─────────────────────────────────────────────────────────────────────────────────────────────Free1,000Signals + BriefsMCP$0Vibe Coder10,000Signals + BriefsMCP, REST API$49/moPro Developer100,000Signals + BriefsMCP, REST API, Collections$299/moEarly Stage1,000,000Signals + BriefsMCP, REST API, Collections, Webhooks, S3~$450/moEnterpriseCustomSignals + Briefs + RecordsAll channels + Custom Attributes + SLAContact usCONTENT ACCESS LEVELSLevel 1 Signals (structured claims) All plans
Level 2 Briefs (editorial narratives) All plans
Level 3 Records (raw extracted content) Enterprise only
FEATURE GATINGREST API Vibe Coder+
Collections Pro Developer+
Webhooks Early Stage+
S3 Export Early Stage+
Records Enterprise only
Custom Attributes Enterprise only
SLA + Support Enterprise only
OVERAGE
Free: hard cap. Vibe Coder / Pro / Early Stage: $0.001/story. Enterprise: negotiated.
REFRESH CADENCE
Free / Vibe Coder: monthly. Pro Developer: weekly. Early Stage: daily. Enterprise: continuous.
PAYMENT
Free: none. Vibe Coder / Pro: Stripe card. Early Stage: Stripe ACH. Enterprise: invoice.
FIREHOSE (separate product)
WebSocket delivery of all Synorb content. Separate contract. Contact us.
Quotas reset monthly. Free plans have a hard cap. Paid plans allow overage at per-story rates. Backfills available as one-time purchases via S3 (up to 3 years).
Every response includes usage headers: X-Synorb-Quota-Limit, X-Synorb-Quota-Used, X-Synorb-Quota-Remaining, X-Synorb-Period, X-Synorb-Content-Level.
09
Collections
Collections are custom groupings of streams. Build them from explicit stream IDs, dynamic filter rules (entities, topics, sources, domains), or both. Query a collection to get aggregated content across all its streams.
GET /collections/{id}/signals?published_date_from=2026-02-01&published_date_to=2026-02-26
→ Claims across all streams in collection. Same response shape as /streams/{id}/signals.
GET /collections/{id}/briefs?published_date_from=2026-02-01&published_date_to=2026-02-26
→ Briefs across all streams. Requires Level 2 content access (all plans).
synorb-collection-catalog List your collections
synorb-collection-details Collection detail + resolved streams
synorb-collection-stories Fetch stories from a collection
synorb-collection-stories-advanced Multi-collection with AND/OR filters
synorb-collection-stories-advanced-logic Multi-collection with simple filters
Available on all MCP tool tiers (Basic, Standard, Reasoner).
10
Webhooks
Push notifications when new stories match your subscribed streams. Pro Developer and above. Webhook payloads contain metadata only — fetch full content via the REST API.
Register a Webhook
POST /api/webhooks
{
"org_id": 42,
"url": "https://your-app.com/webhook",
"label": "Production alerts"
}
→ { "id": 7, "secret": "whsec_..." }
Save the secret — it is shown only once.
Payload Format
{
"event": "story.matched",
"story_id": 12345,
"stream_id": 8,
"headline": "Fed signals rate pause through Q3",
"entities": ["Federal Reserve", "Jerome Powell"],
"claim_count": 7,
"home_domain": "economics-business-work"
}
Metadata only. Call GET /streams/{stream_id}/signals for full content.
Attempt 1: Immediate Timeout: 10s
Attempt 2: After 60s Timeout: 10s
Attempt 3: After 300s Timeout: 10s
10 consecutive failures → webhook auto-disabled.
Reactivate: POST /api/webhooks/{id}/reactivate
Webhook Management
GET /api/webhooks?org_id=42 List webhooks
GET /api/webhooks/{id} Webhook detail
DELETE /api/webhooks/{id} Deactivate
POST /api/webhooks/{id}/test Send test event
POST /api/webhooks/{id}/reactivate Reset circuit breaker
GET /api/webhooks/{id}/logs Delivery history
11
Playground
Test the API directly. Your keys stay in the browser — requests go straight to api.synorb.com.