Structured Data & Intelligence Tokens
15 min read
Structured Data & Intelligence Tokens
Reading time: 15 minutes
TLDR
Every Surmado report includes structured JSON for programmatic access. Signal tokens contain AI visibility metrics and competitor data. Scan tokens include performance scores and technical issues. Solutions tokens have strategic recommendations and financial modeling. Integrate with Notion, Airtable, Google Sheets, Zapier, or custom tools. Track metrics over time, automate reports, build dashboards, or trigger alerts when visibility drops. A REST API is coming soon for full automation.
REST API coming soon. But you don’t have to wait. Every Surmado report already includes structured JSON for programmatic access.
What Are Intelligence Tokens?
Intelligence Tokens are structured JSON payloads included with every Signal, Scan, and Solutions report. They contain machine-readable data you can integrate into:
- Dashboards (Notion, Airtable, Retool, custom React apps)
- Automation workflows (Zapier, Make, n8n)
- Internal tools (CRMs, project management, BI platforms)
- Custom agents (AI assistants, monitoring bots, Slack integrations)
Where to find them: Every report includes a data.json file alongside the PDF.
Format: Standard JSON with consistent schemas versioned for backward compatibility.
Signal Intelligence Token
Token prefix: SIG-*
Purpose: AI visibility metrics, persona analysis, competitive positioning, and ghost influence measurement.
Schema Structure
{
"token": "SIG-2025-11-A7K3Q",
"generated_at": "2025-11-08T23:45:12.456789+00:00",
"report_metadata": {
"confidence_score": 85.3,
"schema_version": "2.0"
},
"entity_context": {
"business_name": "Acme Coffee Roasters",
"industry": "Food & Beverage",
"target_audience": "Coffee enthusiasts",
"competitive_set": ["Starbucks", "Blue Bottle", "Intelligentsia"]
},
"visibility_metrics": {
"presence_score": 34.2,
"ghost_influence_percentage": 48.3,
"attributed_mentions": 12,
"unattributed_mentions": 17
},
"competitive_position": {
"rank": 4,
"total_competitors": 12
},
"platform_variance": {
"chatgpt": {
"presence_score": 42.1,
"attributed_mentions": 5,
"unattributed_mentions": 7,
"sample_responses": ["..."]
},
"claude": {
"presence_score": 38.5,
"attributed_mentions": 3,
"unattributed_mentions": 4
},
"gemini": { "..." },
"deepseek": { "..." },
"meta_ai": { "..." },
"grok": { "..." }
},
"perception_analysis": {
"primary_associations": ["specialty coffee", "local roasting", "sustainable sourcing"],
"sentiment_distribution": {
"positive": 67.4,
"neutral": 28.3,
"negative": 4.3
},
"strength_signals": ["ethical sourcing", "small batch quality"],
"weakness_signals": ["limited retail presence", "higher price point"]
},
"strategic_signals": {
"visibility_opportunities": [
{
"platform": "chatgpt",
"gap": "Location-based queries underrepresented",
"recommendation": "Optimize Google Business Profile with neighborhood keywords",
"estimated_impact": "high"
}
],
"competitive_threats": [
{
"competitor": "Blue Bottle",
"platform": "claude",
"advantage": "Brand recognition in 'premium coffee' queries",
"mitigation": "Emphasize direct trade relationships and roast-date freshness"
}
]
},
"evidence_samples": [
{
"platform": "chatgpt",
"query": "best specialty coffee roasters in Portland",
"response_excerpt": "...",
"attribution_type": "named",
"rank": 3
}
],
"persona_details": {
"persona_name": "Coffee enthusiast seeking single-origin beans",
"query_variations_tested": 24,
"platforms_tested": 6,
"test_parameters": {
"geographic_focus": "Portland metro area",
"price_sensitivity": "willing to pay premium for quality",
"values": ["sustainability", "transparency", "craftsmanship"]
}
},
"test_queries": [
"best specialty coffee roasters in Portland",
"where to buy single-origin Ethiopian coffee",
"sustainable coffee roasters near me"
],
"market_context": {
"industry_trends": ["direct trade transparency", "micro-lot offerings"],
"seasonal_factors": "Testing conducted during peak holiday gifting season",
"competitive_intensity": "high"
},
"baseline_metrics": {
"previous_presence_score": 28.7,
"change_since_last_report": "+5.5",
"trend": "improving"
},
"preview_content": [
"Presence score: 34.2 (↑5.5 from last report)",
"Ghost influence: 48.3% of relevant mentions don't name you",
"Competitive rank: #4 of 12 in category",
"Strongest platform: ChatGPT (42.1 presence)",
"Top opportunity: Location-based query optimization"
]
}
Key Fields Explained
visibility_metrics.presence_score: 0-100 score measuring how often your business appears in AI responses to relevant queries. Higher = more visible.
visibility_metrics.ghost_influence_percentage: Percentage of relevant mentions where AI describes your value proposition or features without naming you. High ghost influence = you’re educating the market but competitors capture attribution.
competitive_position.rank: Your position relative to competitors in the same category. Rank 1 = most mentioned.
platform_variance: Breakdown by AI platform (ChatGPT, Claude, Gemini, etc.) showing where you’re strongest and weakest.
strategic_signals.visibility_opportunities: Actionable recommendations ranked by estimated impact.
Common Use Cases
Dashboard integration: Pull presence_score, ghost_influence_percentage, and competitive_position.rank to track AI visibility over time.
Alerting: Monitor baseline_metrics.trend and trigger alerts if presence score drops >10 points.
Competitive intelligence: Compare your platform_variance to competitors’ Signal reports to identify platform-specific gaps.
Content strategy: Use perception_analysis.weakness_signals to guide content creation and FAQ optimization.
Scan Intelligence Token (Scan)
Token prefix: SCAN-*
Purpose: Technical SEO audit data, performance metrics, accessibility scores, and prioritized action items.
Schema Structure
{
"metadata": {
"token": "SCAN-2025-11-A7K9P",
"url": "https://www.example.com",
"tier": "premium",
"run_id": "pulse-20251108-143022",
"product": "pulse",
"version": "1.0",
"created_at": "2025-11-08T14:30:22.445Z"
},
"audit_data": {
"site_metrics": {
"total_pages": 48,
"crawled_pages": 48,
"avg_word_count": 1247,
"pages_with_schema": 42,
"missing_titles": 0,
"duplicate_titles": 3,
"images_without_alt": 15,
"broken_links": 2,
"redirect_chains": 1
},
"lighthouse": {
"performance_score": 87,
"seo_score": 95,
"accessibility_score": 92,
"best_practices_score": 88,
"first_contentful_paint": 1.2,
"largest_contentful_paint": 2.1,
"cumulative_layout_shift": 0.05,
"total_blocking_time": 150
},
"accessibility": {
"pa11y_errors": 8,
"pa11y_warnings": 23,
"combined_score": 86,
"critical_issues": [
{
"code": "WCAG2AA.Principle1.Guideline1_3.1_3_1.H49.I",
"message": "<i> element used for icon, should use aria-label",
"selector": ".nav-icon",
"impact": "moderate"
}
]
},
"enrichment": {
"page_analysis": {
"high_priority_pages": [
{
"url": "/",
"title": "Homepage",
"recommendations": [
"Add FAQ schema to address common queries",
"Optimize hero image LCP (currently 2.8s)"
]
}
]
},
"link_analysis": {
"internal_link_distribution": "uneven",
"orphaned_pages": 2,
"deep_pages_low_authority": 5
},
"schema_strategist": {
"schemas_found": ["Organization", "WebSite", "BreadcrumbList"],
"schemas_missing": ["FAQPage", "LocalBusiness"],
"validation_errors": [
{
"type": "Organization",
"field": "logo",
"error": "Invalid URL format"
}
]
},
"content_inventory": {
"thin_content_pages": 3,
"keyword_cannibalization": [
{
"keyword": "best coffee beans",
"competing_pages": ["/shop/beans", "/blog/coffee-guide"],
"recommendation": "Consolidate or differentiate targeting"
}
]
},
"competitor_analysis": {
"competitors_analyzed": ["bluebottle.com", "intelligentsia.com"],
"your_advantages": ["Faster load times", "Better mobile UX"],
"their_advantages": ["more thorough with 150+ checks schema", "Higher blog frequency"]
},
"upstream_research": {
"industry_benchmarks": {
"avg_performance_score": 72,
"avg_accessibility_score": 78,
"your_vs_average": {
"performance": "+15",
"accessibility": "+14"
}
}
},
"content_gap_analysis": {
"suggested_topics": [
"Coffee brewing methods comparison",
"Single-origin vs blend guide",
"Roast profile differences explained"
],
"rationale": "Competitors rank for these queries but you have no content"
}
},
"pages": [
{
"url": "https://www.example.com/",
"title": "Homepage",
"status_code": 200,
"word_count": 1850,
"meta_description": "...",
"h1_tags": ["Acme Coffee Roasters"],
"schema_types": ["Organization", "WebSite"],
"performance": {
"lcp": 2.1,
"cls": 0.05
},
"issues": [
{
"severity": "medium",
"type": "image_optimization",
"message": "Hero image not lazy-loaded",
"recommendation": "Add loading='lazy' attribute"
}
]
}
]
}
}
Key Fields Explained
lighthouse.performance_score: 0-100 Lighthouse performance score. Industry average: 65-75 for e-commerce sites.
site_metrics.images_without_alt: Number of images missing alt text (SEO + accessibility issue).
enrichment.schema_strategist: Schema.org validation and recommendations for structured data.
enrichment.content_gap_analysis: Topics competitors rank for but you don’t cover. SEO opportunity areas.
pages[].issues: Granular issues per page with severity and actionable recommendations.
Common Use Cases
CI/CD integration: Run Scan in your deployment pipeline and fail builds if lighthouse.performance_score < 80.
Monitoring: Track lighthouse.performance_score and accessibility.combined_score over time in a time-series database.
Issue tracking: Parse pages[].issues and auto-create Jira/Linear tickets for dev team.
Reporting: Pull site_metrics summary for executive dashboards showing SEO health.
Solutions Intelligence Token
Token prefix: SOLUTIONS-*
Purpose: Strategic planning output, prioritized action items, adversarial debate synthesis, and decision frameworks.
Schema Structure
{
"token": "SOLUTIONS-2025-11-A7K3Q",
"generated_at": "2025-11-08T23:45:12.456789+00:00",
"business_name": "Acme Coffee Roasters",
"decision": "Should we expand from local farmers markets to e-commerce?",
"todo_list": [
{
"priority": 1,
"action": "Validate e-commerce demand with 2-week pre-order test",
"rationale": "CFO AI flagged cash flow risk of inventory investment. Test market demand before committing capital.",
"estimated_effort": "1-3 days",
"impact": "high",
"owner_role": "Marketing",
"dependencies": [],
"success_criteria": "Achieve 50+ pre-orders to justify inventory investment"
},
{
"priority": 2,
"action": "Calculate true unit economics including shipping costs",
"rationale": "Market Realist AI noted competitors use free shipping thresholds. Need to model margin impact.",
"estimated_effort": "1 day",
"impact": "high",
"owner_role": "Finance",
"dependencies": [],
"success_criteria": "Confirm >30% margin after shipping at $35+ order value"
},
{
"priority": 3,
"action": "Research coffee subscription platform integrations (Trade, Driftaway)",
"rationale": "Game Theorist AI suggested partnering vs competing. Explore white-label options.",
"estimated_effort": "2-3 days",
"impact": "medium",
"owner_role": "Partnerships",
"dependencies": [],
"success_criteria": "Identify 2-3 viable platform partnerships with <15% commission"
},
{
"priority": 4,
"action": "Audit fulfillment capacity: Can we ship 100 orders/week?",
"rationale": "COO AI raised operational risk of overwhelming current team during peak season.",
"estimated_effort": "1 day",
"impact": "high",
"owner_role": "Operations",
"dependencies": [],
"success_criteria": "Document current capacity + identify bottlenecks"
},
{
"priority": 5,
"action": "Create content strategy for 'coffee education' blog",
"rationale": "Upstream research showed competitors win on educational content. Build SEO moat.",
"estimated_effort": "1 week",
"impact": "medium",
"owner_role": "Marketing",
"dependencies": [1],
"success_criteria": "Publish 3 comprehensive guides (brewing methods, origins, roast profiles)"
},
{
"priority": 6,
"action": "Build Minimum Viable Storefront (Shopify or WooCommerce)",
"rationale": "After validating demand (Priority 1), launch simple store. Avoid custom dev.",
"estimated_effort": "2 weeks",
"impact": "high",
"owner_role": "Engineering",
"dependencies": [1, 2],
"success_criteria": "Live storefront with 5 SKUs, payment processing, shipping integration"
},
{
"priority": 7,
"action": "Model customer acquisition cost (CAC) for paid ads",
"rationale": "CFO AI noted farmers market CAC is $0 (foot traffic). Need to budget for online ads.",
"estimated_effort": "2-3 days",
"impact": "medium",
"owner_role": "Marketing",
"dependencies": [2],
"success_criteria": "Target CAC <$25 with LTV >$75 (3x ratio)"
},
{
"priority": 8,
"action": "Set decision checkpoint: Launch vs pivot based on pre-order results",
"rationale": "Chief Strategist AI synthesis: Use Priority 1 results to decide go/no-go.",
"estimated_effort": "1 day",
"impact": "critical",
"owner_role": "Leadership",
"dependencies": [1, 2, 4],
"success_criteria": "Decision made by [specific date] based on pre-order data"
}
],
"summary": {
"total_actions": 8,
"high_priority": 4,
"medium_priority": 3,
"critical_priority": 1,
"has_financial_analysis": true,
"has_risk_mitigation": true,
"estimated_total_effort": "4-6 weeks",
"decision_framework": "Staged validation approach with clear go/no-go gates"
},
"adversarial_debate_summary": {
"cfo_concerns": [
"Inventory cash flow risk without demand validation",
"Shipping costs erode margins below 30% threshold",
"Customer acquisition cost unknown for paid channels"
],
"coo_concerns": [
"Current team capacity maxed at 100 orders/week",
"Peak season overlap with farmers market commitments",
"Fulfillment process not documented or systemized"
],
"market_realist_concerns": [
"Competitors offer free shipping (you can't at current scale)",
"Educational content gap vs established brands",
"Price positioning unclear (premium vs accessible)"
],
"game_theorist_insights": [
"Partnering with existing platforms reduces upfront investment",
"Competitors may respond with farmers market presence if you succeed online",
"First-mover advantage in 'local + online' hybrid model"
],
"chief_strategist_synthesis": "Launch is feasible but only after validating demand and unit economics. Staged approach reduces risk: (1) Pre-order test, (2) MVP storefront, (3) Scale based on results. Avoid premature inventory investment."
},
"monte_carlo_scenarios": {
"methodology": "10,000 simulations varying demand, CAC, and margin assumptions",
"outcomes": {
"success_rate": 62,
"breakeven_12mo": 62,
"breakeven_18mo": 28,
"failure_24mo": 10
},
"key_risk_factors": [
"Customer acquisition cost variance (if CAC >$40, failure risk jumps to 35%)",
"Shipping cost assumptions (free shipping threshold impacts margin by 12-18%)",
"Fulfillment bottleneck (unable to scale beyond 100 orders/week without hiring)"
],
"recommendation": "Secure 18-month runway, not 12-month. Model includes 28% of scenarios requiring extended breakeven timeline."
},
"evidence_citations": [
{
"claim": "Competitors use free shipping thresholds",
"source": "Analysis of Blue Bottle, Intelligentsia, and Stumptown pricing",
"data": "Free shipping at $40+, $35+, and $50+ respectively"
},
{
"claim": "Educational content drives SEO for coffee brands",
"source": "SEMrush analysis of top 10 specialty coffee sites",
"data": "Average 12 educational blog posts ranking for 'how to brew' queries"
}
]
}
Key Fields Explained
todo_list[].priority: 1 = highest priority. Order represents logical sequence and dependencies.
todo_list[].dependencies: Array of priority numbers this action depends on. Used for project management sequencing.
adversarial_debate_summary: Condensed view of concerns raised by each AI perspective (CFO, COO, Market Realist, Game Theorist) and final synthesis.
monte_carlo_scenarios: Probabilistic stress testing results showing likelihood of success/failure under varying assumptions.
evidence_citations: Sources backing key claims and recommendations. Transparency into reasoning.
Common Use Cases
Project management: Import todo_list into Linear, Asana, or Notion with priorities and dependencies pre-mapped.
Decision tracking: Store Solutions tokens in your strategy repository to document why decisions were made.
Board reporting: Pull summary and monte_carlo_scenarios to show executive team how strategy was stress-tested.
Knowledge management: Index evidence_citations to build institutional memory of strategic research.
Accessing Intelligence Tokens
Via Email
When your report is ready, you’ll receive an email with two attachments:
report.pdf- Human-readable reportdata.json- Machine-readable intelligence token
Via Surmado Dashboard
Navigate to Reports → Select your report → Download JSON
Future: REST API
We’re building a REST API to query reports programmatically:
# Coming soon
GET /v1/reports/{reportId}
GET /v1/reports?business_name=Acme&type=signal
POST /v1/reports/signal
Want early access? Email api@surmado.com with your use case.
Intelligence Token Schemas
The complete schemas for Signal, Scan, and Solutions tokens are documented above. Each token type has its own structure optimized for different use cases.
Schema Versioning
Intelligence Token schemas follow semantic versioning:
- Major version (e.g., 1.0 → 2.0): Breaking changes. Field removals or type changes.
- Minor version (e.g., 2.0 → 2.1): Additive changes. New fields added, backward compatible.
- Patch version (e.g., 2.1.0 → 2.1.1): Bug fixes. No schema changes.
Current versions:
- Signal:
2.0 - Scan:
1.0 - Solutions:
1.0
Backward compatibility: We maintain compatibility for 12 months after major version releases. Your integrations won’t break.
Integration Examples
Notion Dashboard
// Parse Signal token and create Notion database entry
const signalData = JSON.parse(fs.readFileSync('data.json', 'utf8'));
await notion.pages.create({
parent: { database_id: 'YOUR_DATABASE_ID' },
properties: {
'Business Name': { title: [{ text: { content: signalData.entity_context.business_name } }] },
'Presence Score': { number: signalData.visibility_metrics.presence_score },
'Ghost Influence': { number: signalData.visibility_metrics.ghost_influence_percentage },
'Competitive Rank': { number: signalData.competitive_position.rank },
'Report Date': { date: { start: signalData.generated_at } },
'Token': { rich_text: [{ text: { content: signalData.token } }] }
}
});
Zapier Webhook
// Trigger Zapier workflow when presence score drops
const currentScore = signalData.visibility_metrics.presence_score;
const previousScore = signalData.baseline_metrics.previous_presence_score;
if (currentScore < previousScore - 10) {
await fetch('https://hooks.zapier.com/hooks/catch/YOUR_WEBHOOK/', {
method: 'POST',
body: JSON.stringify({
alert: 'Presence score dropped significantly',
business: signalData.entity_context.business_name,
current_score: currentScore,
previous_score: previousScore,
drop: previousScore - currentScore
})
});
}
Linear Issue Creation (Scan)
// Auto-create Linear issues from Scan findings
const scanData = JSON.parse(fs.readFileSync('data.json', 'utf8'));
for (const page of scanData.audit_data.pages) {
for (const issue of page.issues.filter(i => i.severity === 'high')) {
await linearClient.createIssue({
teamId: 'YOUR_TEAM_ID',
title: `[SEO] ${issue.type}: ${page.url}`,
description: `**Issue**: ${issue.message}\n\n**Recommendation**: ${issue.recommendation}\n\n**Page**: ${page.url}`,
priority: 1,
labels: ['seo', 'technical-debt']
});
}
}
Example 4: Google Sheets Time-Series Tracking
// Append Signal scores to Google Sheets for time-series tracking
const { GoogleSpreadsheet } = require('google-spreadsheet');
const doc = new GoogleSpreadsheet('YOUR_SHEET_ID');
await doc.useServiceAccountAuth(credentials);
await doc.loadInfo();
const sheet = doc.sheetsByIndex[0];
await sheet.addRow({
'Date': signalData.generated_at,
'Business': signalData.entity_context.business_name,
'Presence Score': signalData.visibility_metrics.presence_score,
'Ghost Influence': signalData.visibility_metrics.ghost_influence_percentage,
'Rank': signalData.competitive_position.rank,
'ChatGPT Score': signalData.platform_variance.chatgpt.presence_score,
'Claude Score': signalData.platform_variance.claude.presence_score
});
Quick Answers
What is an Intelligence Token?
Intelligence Token = Your unique code (format: SIG-2025-11-XXXXX, SCAN-2025-11-XXXXX, or SOLUTIONS-2025-11-XXXXX) that unlocks structured JSON data from your Surmado report.
Why it’s valuable:
- Programmatic access: Parse report data into your tools (Notion, Linear, Google Sheets)
- Automation: Build workflows that trigger on new reports
- Time-series tracking: Store historical data for trend analysis
- Team sharing: Give token to developers/analysts for integration work
Where you get it: Included in every Surmado report (PDF + JSON)
How do I access my Intelligence Token?
3 ways to get your token:
-
Email receipt: Token included in order confirmation
- Subject: “Your Surmado [Signal/Scan/Solutions] Report”
- Body: Download link to JSON file containing token
-
PDF report: Token printed on first page
- Format:
Token: SIG-2025-11-A7K3Q - Valid until: [Expiration date]
- Format:
-
Dashboard (coming soon): View all tokens in account history
Token lifespan: 90 days from generation date
Can I use Intelligence Tokens with Zapier?
Yes! Example Zapier workflow:
Trigger: New email from support@surmado.com with “Report” in subject
Action 1: Extract JSON attachment
Action 2: Parse visibility_metrics.presence_score
Action 3: Create Notion database entry with scores
Action 4: Send Slack notification if presence_score < 10%
Common integrations:
- Notion: Auto-populate marketing dashboard
- Linear: Create tasks for low-scoring issues
- Google Sheets: Time-series tracking
- Slack: Alert team on visibility changes
Do Intelligence Tokens expire?
Yes: 90 days from generation
Why expiration?:
- AI platforms change data sources frequently
- Scores drift over time (competitor movement, algorithm updates)
- Fresh data = accurate strategy
What happens after expiration:
- Token still works for historical reference
- Solutions recommendations based on expired token may be outdated
- Re-run report to get fresh token + updated scores
Best practice: Run Signal quarterly (every 90 days) for continuous tracking
What’s the difference between SIG, SCAN, and SOLUTIONS tokens?
Different schemas for different products:
*SIG- (Signal tokens)**:
- Schema: AI visibility metrics (presence_score, ghost_influence, platform_variance)
- Use case: Track AI discoverability over time
- Example:
SIG-2025-11-A7K3Q
*SCAN- (Scan tokens)**:
- Schema: Technical SEO metrics (lighthouse, schema_validation, accessibility)
- Use case: Monitor site health, track Core Web Vitals
- Example:
SCAN-2025-11-A7K9P
*SOLUTIONS- (Solutions tokens)**:
- Schema: Strategic recommendations (todo_list, priority, rationale)
- Use case: Integrate action items into project management tools
- Example:
SOLUTIONS-2025-11-A7K3Q
All tokens: JSON format, 90-day validity, included in every report
Does Surmado have a REST API?
Current state: No REST API yet
What’s available now:
- Intelligence Tokens (structured JSON with every report)
- Manual report generation (via website)
- JSON export for automation
REST API roadmap (coming 2025):
POST /signal- Generate Signal report programmaticallyGET /reports/:id- Retrieve report by IDGET /reports- List all reports- Webhooks - Get notified when report completes
Early access: Email api@surmado.com to join waitlist
Can I automate Signal reports?
Not yet via API, but workarounds exist:
Option 1: Manual + Zapier integration
- Manually run Signal report monthly
- Zapier detects email with JSON attachment
- Auto-parses and sends to Notion/Sheets/Linear
Option 2: Bulk purchase + manual trigger
- Buy 10 Signal reports upfront
- Run manually quarterly
- Integrate JSON outputs via Zapier
Option 3: Wait for REST API (2025)
- Fully automated monthly reports
- Webhook notifications when complete
- No manual triggering needed
Best for now: Option 1 (manual + Zapier)
Need Help?
Questions about schema fields? Check our FAQ or email support@surmado.com.
Building an integration? We’d love to hear about it! Share your use case at api@surmado.com.
Want the REST API sooner? Email api@surmado.com to join the early access waitlist.
Was this helpful?
Thanks for your feedback!
Have suggestions for improvement?
Tell us moreHelp Us Improve This Article
Know a better way to explain this? Have a real-world example or tip to share?
Contribute and earn credits:
- Submit: Get $25 credit (Signal, Scan, or Solutions)
- If accepted: Get an additional $25 credit ($50 total)
- Plus: Byline credit on this article