API Documentation

Everything you need to integrate Verosight into your applications.

Base URL: https://api.verosight.com REST API JSON

Getting Started

Welcome to the Verosight API. Access real-time social media intelligence from X, Instagram, TikTok, Facebook, LinkedIn, YouTube, and news portals.

Quick Start

1
Create an account

Get Started Sign up and get 1,000 free credits.

2
Generate an API key

Go to API Keys and create a key.

3
Make your first request

Use your key to fetch data:

Shell
curl -X POST "https://api.verosight.com/v1/auth/token" \
  -H "X-API-Key: vlt_live_YOUR_KEY"

# Use the returned JWT:
curl "https://api.verosight.com/v1/posts?limit=5" \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Response Format

All responses follow a standard envelope:

JSON
{
  "data": { ... },
  "meta": {
    "request_id": "uuid",
    "credits_used": 2,
    "credits_remaining": 998
  },
  "pagination": {
    "next_cursor": "base64...",
    "has_more": true,
    "total": 38113
  }
}
Credits

Each API call costs credits. Free accounts start with 1,000 credits. Credits are only deducted on successful (2xx) responses.

Authentication

The API supports two authentication methods:

1. API Key

Pass your key in the X-API-Key header. Keys start with vlt_live_ (production) or vlt_test_ (test).

Header
X-API-Key: vlt_live_a1b2c3d4e5f6...

2. JWT Bearer Token

Exchange your API key for a short-lived JWT (24h):

POST /v1/auth/token 0 cr
Response
{
  "token": "eyJ...",
  "expires_at": "2026-03-28T10:00:00Z"
 }

Then use the token:

Header
Authorization: Bearer eyJ...

Account

Check your credit balance and usage statistics.

Credit Balance

GET /v1/account/balance 0 cr
Response
{
  "data": {
    "credits_remaining": 971,
    "credits_used_today": 29,
    "tier": "standard",
    "rate_limit": 60,
    "rate_limit_remaining": 55
  }
}

Usage History

GET /v1/account/usage 0 cr
ParamTypeDescription
daysintPeriod: 1-90 (default 7)
key_idstringFilter by API key UUID or playground
Response
{
  "data": {
    "total_credits_used": 145,
    "total_requests": 42,
    "success_rate": 95.2,
    "avg_latency_ms": 187,
    "by_endpoint": [
      { "endpoint": "GET /v1/posts", "requests": 20, "credits": 40 }
    ],
    "by_day": [
      { "date": "2026-03-27", "requests": 15, "credits": 45 }
    ]
  }
}

Health & Sources

MethodEndpointAuthDescription
GET/healthNoneSystem health check
GET/v1/sourcesNoneList supported platforms

Posts

Access social media posts across all platforms.

GET /v1/posts 2 cr
ParamTypeDescription
platformstringFilter: x, instagram, tiktok, facebook, linkedin, youtube, news_portal (case-insensitive)
profile_namestringFilter by author
keywordstringSearch in content
media_typestringtext, image, video, article
date_fromstringYYYY-MM-DD
date_tostringYYYY-MM-DD
min_likesintMinimum like count
sortstringposted_at, like_count, comment_count
orderstringdesc (default), asc
limitint1-100 (default 20)
cursorstringPagination cursor
exclude_profilesstringComma-separated profile names to exclude
exclude_keywordsstringComma-separated keywords to exclude from results

More Endpoints

MethodEndpointCreditsDescription
GET/v1/posts/:id1Single post
GET/v1/posts/:id/comments2Comments on a post

Comments

Access comments across all platforms.

GET /v1/comments 2 cr
ParamTypeDescription
platformstringFilter by platform (case-insensitive)
profile_namestringCommenter profile
post_ownerstringOriginal post author
keywordstringSearch in content
date_from / date_tostringYYYY-MM-DD
limitint1-100 (default 20)
cursorstringPagination cursor
exclude_profilesstringComma-separated profile names to exclude
exclude_keywordsstringComma-separated keywords to exclude from results

More Endpoints

MethodEndpointCreditsDescription
GET/v1/comments/:id1Single comment

Profiles

Browse social media profiles. If a profile isn't in the database yet, the API auto-triggers a crawl.

GET /v1/profiles 2 cr
ParamTypeDescription
platformstringFilter by platform (case-insensitive)
searchstringSearch by name
is_verifiedboolVerified only
min_followersintMinimum followers
limitint1-100 (default 20)
cursorstringPagination cursor

Profile Endpoints

MethodEndpointCreditsDescription
GET/v1/profiles/:platform/:name1Get profile (auto-seeds if missing)
GET/v1/profiles/:platform/:name/posts2Profile's posts
GET/v1/profiles/:platform/:name/comments-received2Comments on profile's posts
GET/v1/profiles/:platform/:name/interactions2Interaction graph
GET/v1/profiles/:platform/:name/stats5Engagement stats (?days=7)

Analytics

Aggregated analytics — trending content, sentiment, topics, and profile comparison.

Trending

GET /v1/analytics/trending 5 cr

Top posts and profiles by engagement. Params: days, limit, platform.

ParamTypeDescription
daysintPeriod: 1-90 (default 7)
limitintResults limit (default 20)
platformstringFilter by platform (case-insensitive)
keywordstringOptional — filter trending content by topic keyword
exclude_profilesstringComma-separated profile names to exclude
exclude_keywordsstringComma-separated keywords to exclude from results
Response
{
  "data": {
    "period": "last 7 days",
    "top_posts": [
      {
        "id": 451,
        "platform": "instagram",
        "post_id": "DWz31kkiXu7",
        "profile_name": "example_profile_a",
        "content": "Sample trending post content preview.",
        "media_type": "text",
        "media_urls": [],
        "post_url": "https://example.com/p/DWz31kkiXu7/",
        "like_count": 2931,
        "comment_count": 177,
        "hashtags": [],
        "mentions": [],
        "is_reply": false,
        "posted_at": "2026-04-07T07:34:36+07:00"
      },
      ...
    ],
    "top_profiles": [
      {
        "profile_name": "example_profile_a",
        "platform": "instagram",
        "total_engagement": 8861,
        "post_count": 5
      },
      {
        "profile_name": "example_profile_b",
        "platform": "linkedin",
        "total_engagement": 3283,
        "post_count": 5
      }
    ],
    ...
  }
}

Sentiment

GET /v1/analytics/sentiment 5 cr
ParamRequiredDescription
queryYesSearch term for sentiment analysis. Use separator pipe " | " for multiple queries
daysNo1-90 (default 7)
platformNoFilter by platform (case-insensitive)
exclude_profilesNoComma-separated profile names to exclude
exclude_keywordsNoComma-separated keywords to exclude from results

Response body for single sentiment analysis

Response
{
  "data": {
    "query": "indonesia",
    "total": 500,
    "positive": 45, 
    "negative": 12, 
    "neutral": 443,
    "positive_pct": 9.0, 
    "negative_pct": 2.4, 
    "neutral_pct": 88.6,
    "sample_positive": [ ... ],
    "sample_negative": [ ... ]
  }
}

Response body for multiple sentiment analysis

Response
{
  "data": [
    {
      "query": "indonesia",
      "period": "last 7 days",
      "total": 500,
      "positive": 45,
      "negative": 12,
      "neutral": 443,
      "positive_pct": 9.0,
      "negative_pct": 2.4,
      "neutral_pct": 88.6,
      "sample_positive": [ ... ],
      "sample_negative": [ ... ]
    }, 
    ...
    ]
}

Profiles ranked by engagement

GET /v1/analytics/engagement-ranking 5 cr

docs.analytics.engagement.desc

ParamTypeDescription
daysint1-90 (default 7)
limitintdocs.analytics.limit
platformstringFilter by platform (case-insensitive)
keywordstringOptional — filter engagement on posts matching keyword
exclude_profilesstringComma-separated profile names to exclude
exclude_keywordsstringComma-separated keywords to exclude from results
Response
{
  "data": {
    "period": "last 7 days",
    "rankings": [
      {
        "profile_name": "ignasius.jonan",
        "platform": "instagram",
        "total_engagement": 8861,
        "post_count": 5
      },
      ...
    ]
  }
}

Topic summaries from hashtags

GET /v1/analytics/topics 5 cr

docs.analytics.topics.desc

ParamTypeDescription
daysint1-90 (default 7)
limitintdocs.analytics.limit
platformstringFilter by platform (case-insensitive)
keywordstringOptional — filter posts by keyword before topic clustering
exclude_profilesstringComma-separated profile names to exclude
exclude_keywordsstringComma-separated keywords to exclude from results
Response
{
  "data": {
    "period": "last 2 days",
    "topics": [
      { "name": "berita hari ini", "post_count": 7 },
      { "name": "berita terbaru", "post_count": 6 },
      { "name": "berita terkini", "post_count": 6 },
      { "name": "breaking news", "post_count": 6 },
      ...
    ],
    "retrieval_mode": "hashtag"
  }
}

Compare profiles side-by-side

GET /v1/analytics/compare?profiles=x:a,x:b 5 cr

docs.analytics.compare.desc

ParamTypeDescription
profilesstringdocs.analytics.profiles
daysint1-90 (default 7)
Response
{
  "data": {
    "period": "last 7 days",
    "profiles": [
      {
        "profile_name": "detikcom",
        "platform": "x",
        "post_count": 0,
        "total_likes": 0,
        "total_comments": 0,
        "total_shares": 0,
        "avg_engagement_per_post": 0
      },
      {
        "profile_name": "kompascom",
        "platform": "x",
        "post_count": 0,
        "total_likes": 0,
        "total_comments": 0,
        "total_shares": 0,
        "avg_engagement_per_post": 0
      },
      ...
    ]
  }
}

Find topic experts by authority score

GET /v1/analytics/experts?query=topic 5 cr

docs.analytics.experts.desc

ParamTypeDescription
querystringSearch term for sentiment analysis. Use separator pipe " | " for multiple queries
daysint1-90 (default 7)
platformstringFilter by platform (case-insensitive)
exclude_profilesstringComma-separated profile names to exclude
exclude_keywordsstringComma-separated keywords to exclude from results
Response
{
  "data": {
    "query": "saham",
    "period": "last 30 days",
    "experts": [
      {
        "profile_name": "kumparan",
        "platform": "tiktok",
        "post_count": 12,
        "total_likes": 41919,
        "total_comments": 782,
        "total_shares": 1924,
        "avg_relevance": 0.8242052565862732,
        "authority_score": 23.754982334310558
      },
      {
        "profile_name": "detikcom",
        "platform": "x",
        "post_count": 25,
        "total_likes": 3788,
        "total_comments": 188,
        "total_shares": 350,
        "avg_relevance": 0.818417328608031,
        "authority_score": 21.872244414782003
      },
      ...
    ],
    "retrieval_mode": "semantic"
  }
}

Sentiment Trend

GET /v1/analytics/sentiment-trend 3 cr

Daily sentiment breakdown (positive/negative/neutral counts per day) from pre-computed data. Shows how sentiment changes over time.

ParamTypeDescription
daysint1-90 (default 7)
platformstringFilter by platform (case-insensitive)
keywordstringOptional — filter by topic using semantic search
Response
{
  "data": {
    "period": "last 7 days",
    "by_day": [
      { "date": "2026-05-08", "positive": 120, "negative": 30, "neutral": 450 },
      { "date": "2026-05-09", "positive": 135, "negative": 28, "neutral": 460 }
    ],
    "computation_mode": "precomputed"
  }
}

Trending Hashtags

GET /v1/analytics/hashtags 3 cr

Trending hashtags ranked by engagement from pre-computed data.

ParamTypeDescription
daysint1-90 (default 7)
limitintdocs.analytics.limit
platformstringFilter by platform (case-insensitive)
keywordstringOptional — find hashtags in topic-relevant posts
Response
{
  "data": {
    "period": "last 7 days",
    "hashtags": [
      { "hashtag": "indonesia", "post_count": 342, "engagement": 58210 },
      { "hashtag": "viral", "post_count": 215, "engagement": 41030 }
    ],
    "computation_mode": "precomputed"
  }
}

Mention Ranking

GET /v1/analytics/mentions 3 cr

Most-mentioned profiles ranked by mention count and engagement.

ParamTypeDescription
daysint1-90 (default 7)
limitintdocs.analytics.limit
platformstringFilter by platform (case-insensitive)
keywordstringOptional — find mentions in topic-relevant posts
Response
{
  "data": {
    "period": "last 7 days",
    "mentions": [
      { "mentioned_profile": "jabordes", "mention_count": 89, "engagement": 12340 },
      { "mentioned_profile": "anabordes", "mention_count": 67, "engagement": 8920 }
    ],
    "computation_mode": "precomputed"
  }
}

Best Posting Time

GET /v1/analytics/best-time 3 cr

Best time to post based on historical engagement patterns. Returns hour-of-day × day-of-week heatmap.

ParamTypeDescription
platformstringFilter by platform (case-insensitive)
profile_namestringFilter by profile name
keywordstringOptional — analyze topic-specific posting times
daysintLookback period when using keyword (default 30)
Response
{
  "data": {
    "period": "all time",
    "slots": [
      { "day_of_week": 1, "hour": 9, "post_count": 45, "avg_engagement": 1234.56 },
      { "day_of_week": 3, "hour": 19, "post_count": 38, "avg_engagement": 1180.20 }
    ],
    "computation_mode": "precomputed"
  }
}

Follower Growth

GET /v1/analytics/growth 3 cr

Follower/following growth over time for a specific profile from daily snapshots.

ParamRequiredDescription
platformYesFilter by platform (case-insensitive)
profile_nameYesFilter by profile name
daysNo1-90 (default 7)
Response
{
  "data": {
    "period": "last 30 days",
    "snapshots": [
      { "date": "2026-04-15", "total_followers": 125000, "total_following": 500, "total_posts": 3200 },
      { "date": "2026-04-16", "total_followers": 125340, "total_following": 501, "total_posts": 3205 }
    ],
    "computation_mode": "precomputed"
  }
}

Recommendations

AI-generated recommendations derived from social media buzz. Each type surfaces trending items ranked by confidence score.

GET /v1/recommendations/:name 15 cr

Returns a ranked list of recommendations for the given type based on social media signals.

ParamRequiredDescription
queryYesTopic to search (required)
daysNo1-90 (default 7)
platformNoFilter by platform (case-insensitive)

Recommendation Types

NameDescriptionResponse Body Fields
productsProducts with business potentialname, brand, category, profit_potential, reason, confidence
moviesTrending or currently airing moviesname, genre, reason, confidence
booksBooks gaining traction in communitiesname, author, genre, reason, confidence
softwareApps and tools gaining adoptionname, category, platform, reason, confidence
gamesVideo games gaining popularityname, genre, platform, reason, confidence
travelPopular or emerging travel destinationsname, country, category, reason, confidence
skillsCourses and skills trending in demandname, category, difficulty, reason, confidence
contentPost ideas, hooks, captions, formatsname, format, tone, reason, confidence
marketingCampaign angles and messaging strategiesname, channel, target_audience, reason, confidence
problemsCommon complaints and unmet needsname, category, severity, reason, confidence

Example Response

Sample response
{
  "data": [
    {
      "name": "Wireless Charging Pad",
      "brand": "Baseus",
      "category": "Electronics",
      "profit_potential": "high",
      "reason": "Surge in discussion across tech communities after new phone launches",
      "confidence": 0.87
    },
    {
      "name": "Phone Grip Stand",
      "brand": "Generic",
      "category": "Accessories",
      "profit_potential": "medium",
      "reason": "Consistent demand driven by content creators and streamers",
      "confidence": 0.74
    }
  ]
}

Search

Semantic and keyword search across all indexed content.

POST /v1/search 5 cr

Request Body For Single Search

Request
{
  "query": "social media analytics",
  "limit": 20,
  "filters": {
    "platforms": ["x", "instagram"],
    "date_from": "2026-03-01",
    "date_to": "2026-03-27"
  }
}

Request Body For Multiple Search

Request
{
  "queries": [
    {
      "query": "social media analytics",
      "limit": 20,
      "filters": {
        "platforms": ["x", "instagram"],
        "profile_names": ["user1"],
        "date_from": "2026-03-01",
        "date_to": "2026-03-27",
        "content_type": "posts"
      }
    },
    ...
  ]
}

Similar Posts

GET /v1/search/similar/:id 5 cr

Find posts similar to a given post by ID.

Seeds & Crawl

Monitor profiles and trigger crawls. The API also auto-seeds profiles when you request one not yet in the database. Adding a duplicate seed returns 409. Deleting a seed stops monitoring but keeps crawled data intact — re-adding the same profile reactivates it.

MethodEndpointCreditsDescription
GET/v1/seeds0List your seeds
POST/v1/seeds0Add a seed (409 if already monitoring)
DELETE/v1/seeds/:id0Stop monitoring (soft delete)
POST/v1/seeds/:id/crawl10Trigger crawl (409 if already running)
GET/v1/seeds/:id/jobs1Crawl history

Add a seed (409 if already monitoring)

POST /v1/seeds — Request Body
{
  "platform": "x",
  "profile_id": "KompasTV",
  "label": "Kompas TV",
  "post_limit": 50,
  "comment_limit": 100,
  "schedule_enabled": false,
  "schedule_interval_minutes": 1440
}

// platform: x, instagram, tiktok, facebook, linkedin, youtube, news_portal
// post_limit: default 50 | comment_limit: default 100
// schedule_enabled: default false
// Returns 409 if you are already monitoring this profile.
// Re-adding a previously deleted seed reactivates it.

Trigger crawl (409 if already running)

POST /v1/seeds/:id/crawl — Response
{
  "data": {
    "seed_id": "af1b06b8-...",
    "status": "pending",
    "message": "Crawl scheduled. Position #2 in queue, estimated wait ~8 minutes.",
    "queue_position": 1,
    "estimated_wait_minutes": 8,
    "created_at": "2026-03-31T14:00:00Z"
  }
}

// Returns 409 if a crawl is already pending or running.

AI Chat

AI-powered chat with tool-use and persistent conversation history. The AI can query your social media data using built-in tools and stream responses in real-time via Server-Sent Events (SSE).

Chat Endpoint

POST /v1/chat 20 cr

Send a message and receive a streaming response. Omit conversation_id to start a new conversation (one will be created automatically). Context is managed server-side.

Request
{
  "message": "What are the trending topics about Indonesia?",
  "conversation_id": "optional — omit to create new conversation"
}
ParameterTypeRequiredDescription
messagestringYesUser's question or prompt
conversation_idstringNoUUID of existing conversation. Omit to start new.

SSE Events

The response is a stream of Server-Sent Events. Each event is a JSON object prefixed with "data: ".

SSE Response
data: {"type":"conversation_id","id":"550e8400-..."}
data: {"type":"tool_status","name":"get_trending","label":"Getting trending data","status":"running"}
data: {"type":"tool_status","name":"get_trending","label":"Getting trending data","status":"done"}
data: {"type":"content_block_delta","delta":{"text":"## Trending Topics\n"}}
data: {"type":"done"}
Event TypeDescription
conversation_idEmitted first — contains conversation UUID
tool_statusTool execution progress (running / done / error)
content_block_deltaStreaming text chunk in delta.text
errorError detail in detail field
doneStream complete

Conversations

Manage chat conversation history. Conversations are created automatically when chatting. Titles are auto-generated by the AI after the first exchange.

MethodEndpointCreditsDescription
GET/v1/conversations0List conversations (newest first)
GET/v1/conversations/:id0Get conversation with messages
DELETE/v1/conversations/:id0Delete conversation
PATCH/v1/conversations/:id0Rename title

Available Tools

The AI automatically selects and executes these tools to answer your questions. All tools are scoped to your monitored data.

ToolDescription
search_postsSemantic/keyword search for posts and comments (supports sort=engagement)
get_trendingTrending posts and profiles by engagement (supports keyword filtering)
get_sentimentSentiment analysis (positive/negative/neutral)
get_topicsTrending topics and hashtags (supports keyword filtering)
get_engagement_rankingRank profiles by total engagement (supports keyword filtering)
find_expertsFind topic experts ranked by authority score
get_sentiment_trendDaily sentiment trend (positive/negative/neutral per day)
get_hashtag_trendingTrending hashtags ranked by engagement
get_mention_rankingMost-mentioned profiles ranked by mention count
get_best_timeBest posting times by engagement heatmap
get_growthFollower/following growth over time for a profile
list_postsList posts with filtering and sorting
get_profileGet detailed profile information
list_profilesList monitored profiles
get_profile_statsEngagement stats for a specific profile
recommend_productsProduct recommendations from social demand signals
recommend_moviesTrending movie recommendations
recommend_booksBook recommendations gaining traction
recommend_softwareSoftware and app recommendations
recommend_gamesGame recommendations by popularity
recommend_travelTravel destination recommendations
recommend_skillsIn-demand skill and course recommendations
recommend_contentContent idea and format recommendations
recommend_marketingMarketing strategy recommendations
recommend_problemsSurface complaints and unmet needs

Export

Export data as CSV for offline analysis.

MethodEndpointCreditsDescription
POST/v1/export0Start export job
GET/v1/export/:jobId0Check status / download

Start Export

POST /v1/export 0 cr
Request
{
  "type": "posts",
  "format": "csv",
  "filters": {
    "platform": "x",
    "date_from": "2026-03-01",
    "date_to": "2026-03-27"
  }
}

Returns a job ID. The export runs asynchronously.

Check Export Status

GET /v1/export/:jobId 0 cr
Response
{
  "data": {
    "job_id": "uuid",
    "status": "completed",
    "rows": 5432,
    "credits_charged": 100,
    "download_url": "https://...",
    "expires_at": "2026-03-29T10:00:00Z"
  }
}

MCP Server

Use Verosight as an MCP (Model Context Protocol) server to give AI assistants like Claude, Cursor, and Windsurf direct access to social media intelligence data. Two transport options available:

Option 1: Remote SSE (Recommended)

No installation needed. Connect directly to the hosted MCP server via URL. Works with Cursor, Windsurf, and any MCP client that supports SSE.

SSE Endpoint

https://api.verosight.com/v1/mcp/sse

Cursor Setup

Go to Cursor Settings > MCP, click "Add new MCP server", select type "sse", and enter:

Cursor MCP Config
URL: https://api.verosight.com/v1/mcp/sse
Headers:
  X-API-Key: vlt_live_YOUR_KEY

Or add to .cursor/mcp.json in your project:

JSON
{
  "mcpServers": {
    "verosight": {
      "url": "https://api.verosight.com/v1/mcp/sse",
      "headers": {
        "X-API-Key": "vlt_live_YOUR_KEY"
      }
    }
  }
}

Windsurf / Other MCP Clients

JSON
{
  "mcpServers": {
    "verosight": {
      "serverUrl": "https://api.verosight.com/v1/mcp/sse",
      "headers": {
        "X-API-Key": "vlt_live_YOUR_KEY"
      }
    }
  }
}

Option 2: Local Binary (stdio)

For Claude Desktop and offline usage. Download and run locally.

Shell — macOS / Linux
curl -fsSL https://verosight.com/download/mcp/install.sh | sh

Or download directly:

PlatformDownload
macOS (Apple Silicon)verosight-mcp-darwin-arm64
macOS (Intel)verosight-mcp-darwin-amd64
Linux (x86_64)verosight-mcp-linux-amd64
Windowsverosight-mcp-windows-amd64.exe

Claude Desktop Config

claude_desktop_config.json
{
  "mcpServers": {
    "verosight": {
      "command": "verosight-mcp",
      "env": {
        "VEROSIGHT_API_KEY": "vlt_live_YOUR_KEY"
      }
    }
  }
}

Available Tools (19)

ToolDescription
search_postsSearch posts across all platforms with filters
get_postGet a single post by ID
search_commentsSearch comments with filters
list_profilesBrowse social media profiles
get_profileGet profile details (auto-crawls if missing)
get_profile_statsEngagement stats for a profile
get_trendingTrending posts and profiles
analyze_sentimentSentiment analysis for a keyword
get_volumeTotal posting and comment volume by day and platform
get_topicsTrending topics and hashtags
compare_profilesCompare profiles side-by-side
find_expertsFind topic experts by authority score
get_sentiment_trendDaily sentiment breakdown over time
get_hashtag_trendingTrending hashtags by engagement
get_mention_rankingMost-mentioned profiles
get_best_timeBest posting times by engagement
get_growthFollower growth over time
semantic_searchSemantic search across content
get_balanceCheck credit balance

Example Conversations

"What are people saying about the Iran conflict on Indonesian social media?"

The AI calls analyze_sentiment and search_posts, then summarizes.

"Compare engagement between @KompasTV and @Metro_TV this week"

The AI calls compare_profiles and presents a comparison table.

"Find trending topics from the last 3 days"

The AI calls get_trending and formats the results.

Credits

Each MCP tool call costs the same credits as the corresponding API endpoint. Use get_balance to check remaining credits.

Claude Code Plugin

Use Verosight directly from Claude Code with slash commands. No MCP setup needed — the plugin calls the API via curl.

Install

Claude Code
/plugin install https://github.com/volantis-technology/verosight-claude-plugin

Setup

Set your API key and run the setup skill:

Shell
export VEROSIGHT_API_KEY=vlt_live_YOUR_KEY
/verosight:setup

Available Skills

CommandCreditsDescription
/verosight:setupFreeConfigure API key and verify access
/verosight:search <query>2Search posts across all platforms
/verosight:trending [platform]5Get trending content and profiles
/verosight:sentiment <topic>5Analyze public sentiment
/verosight:profile <platform> <name>5Get profile details and engagement stats
/verosight:compare <p1> vs <p2>5Compare profile engagement side-by-side
/verosight:balanceFreeCheck credit balance

Examples

Claude Code
/verosight:search posts about AI from last week
/verosight:trending on tiktok
/verosight:sentiment iran conflict
/verosight:profile x KompasTV
/verosight:compare KompasTV vs Metro_TV on twitter
/verosight:balance
Plugin vs MCP

The plugin provides 7 slash commands via curl. For the full 13-tool experience with automatic tool selection, use the MCP Server instead.

Errors

Error Response
{
  "error": {
    "code": "insufficient_credits",
    "message": "This request costs 5 credits but you have 2 remaining."
  },
  "meta": { "request_id": "uuid" }
 }
StatusCodeDescription
400invalid_requestBad request
401invalid_api_keyMissing or invalid credentials
401token_expiredJWT expired
402insufficient_creditsNot enough credits
404not_foundResource not found
429rate_limitedToo many requests
500server_errorInternal error

Rate Limits

Rate limits use a 60-second sliding window per API key.

TierRequests/minFree Credits
Standard601,000
Pro120Custom
EnterpriseCustomCustom

Headers

Response Headers
X-RateLimit-Limit: 60
X-RateLimit-Remaining: 55

Credit Costs

EndpointCredits
GET /v1/posts2
GET /v1/posts/:id1
GET /v1/comments2
GET /v1/profiles2
GET /v1/profiles/.../stats5
GET /v1/analytics/sentiment-trend, hashtags, mentions, best-time, growth3
GET /v1/analytics/* (other)5
POST /v1/search5
POST /v1/seeds/:id/crawl10
POST /v1/chat20
Conversations, Account, Seeds, Export, Health0