Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.manticscore.com/llms.txt

Use this file to discover all available pages before exploring further.

Competitive Signals lets you build a watchlist of companies and topics, then automatically monitors them for activity that matters to your product. When a competitor launches a feature, posts a surge of engineering jobs, or issues a press release, ManticScore detects it, generates an AI insight explaining its relevance, and scores it by how closely it relates to your market. You can monitor any company by domain, configure crawl frequency, and trigger immediate crawls when you need fresh data.

Adding companies to your watchlist

Search for companies to add

Before adding a company, use the discovery endpoint to search by keyword and see which are already on your watchlist:
curl --request GET \
  --url 'https://api.manticscore.com/signals/companies/discover?q=fintech+invoicing&limit=10' \
  --header 'Authorization: Bearer <token>'
{
  "companies": [
    {
      "name": "FreshBooks",
      "domain": "freshbooks.com",
      "description": "Cloud accounting software for small businesses and freelancers",
      "already_added": false
    }
  ],
  "query": "fintech invoicing"
}

Add a company

name
string
required
Company name.
domain
string
Company domain (e.g. freshbooks.com). When provided, ManticScore automatically creates a monitor and enriches the company profile.
relationship
string
default:"watchlist"
Relationship type. Currently watchlist.
sector
string
Industry sector for context, e.g. "fintech" or "productivity".
curl --request POST \
  --url https://api.manticscore.com/signals/companies \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "name": "FreshBooks",
    "domain": "freshbooks.com",
    "relationship": "watchlist",
    "sector": "fintech"
  }'
{
  "company": {
    "id": "f6a7b8c9-...",
    "name": "FreshBooks",
    "domain": "freshbooks.com"
  }
}

Viewing signals

List all signals

Fetch signals across your entire watchlist, or filter by company and type:
curl --request GET \
  --url 'https://api.manticscore.com/signals?limit=50' \
  --header 'Authorization: Bearer <token>'
Filter by company and signal type:
curl
curl --request GET \
  --url 'https://api.manticscore.com/signals?company_id=f6a7b8c9-...&signal_type=product_launch&limit=20' \
  --header 'Authorization: Bearer <token>'

Signal shape

id
string
required
Signal UUID.
company_id
string
required
UUID of the company this signal belongs to.
signal_type
string
required
Type of signal, e.g. product_launch, job_posting, press_release, pricing_change.
title
string
required
Short title describing the signal.
summary
string
required
A factual summary of what was detected.
ai_insight
string
required
AI-generated interpretation of why this signal is relevant to your market.
relevance_score
number
required
Relevance score from 0 to 1. Higher scores indicate stronger relevance to your product space.
source_url
string
required
The URL where this signal was detected.
detected_at
string
required
ISO 8601 timestamp of when the signal was first detected.
company_name
string
required
Display name of the company.
company_logo_url
string
Logo URL for the company, if available.

Company profiles

Get a full company profile including a 30-day signal summary:
curl --request GET \
  --url https://api.manticscore.com/signals/companies/f6a7b8c9-... \
  --header 'Authorization: Bearer <token>'
The response includes a signal_summary object:
{
  "signal_summary": {
    "total_30d": 12,
    "threats": 3,
    "opportunities": 5,
    "recent_7d": 4
  }
}
Threats are signals that suggest a competitor is moving into your space or improving a capability that could hurt you. Opportunities are gaps or missteps you can take advantage of.

Competitive position score

Get an aggregate score that reflects the overall health and activity of your competitive intelligence:
curl
curl --request GET \
  --url https://api.manticscore.com/signals/score \
  --header 'Authorization: Bearer <token>'
{
  "score": 75,
  "signal_count": 42,
  "recent_count": 12
}
A higher score reflects more active monitoring coverage and more recent signals.

Managing monitors

A monitor is a recurring crawl job attached to a company. When you add a company with a domain, ManticScore creates a monitor automatically. You can also create them manually and configure the crawl frequency.

List monitors

curl
curl --request GET \
  --url https://api.manticscore.com/signals/monitors \
  --header 'Authorization: Bearer <token>'

Create a monitor

curl --request POST \
  --url https://api.manticscore.com/signals/monitors \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
    "company_id": "f6a7b8c9-...",
    "crawl_urls": [
      "https://freshbooks.com/blog",
      "https://freshbooks.com/changelog"
    ],
    "crawl_frequency": "daily"
  }'
crawl_frequency accepts daily or weekly.

Trigger an immediate crawl

Don’t wait for the scheduled crawl — trigger one now:
curl
curl --request POST \
  --url https://api.manticscore.com/signals/monitors/monitor_uuid_here/run \
  --header 'Authorization: Bearer <token>'
{"queued": true, "monitor_id": "monitor_uuid_here"}
Use immediate crawls when a competitor makes a major announcement and you want signals surfaced right away rather than waiting for the next scheduled run.

Signal streaming via WebSocket

For real-time signal delivery as crawls complete, subscribe to the signal_crawl and company_enrich channels on the WebSocket endpoint. This is useful for building live dashboards or triggering automations the moment a signal is detected.