Read-only HTTP API for your Vinespire data. Available on the Agency plan.
Every request must include an API key in the Authorization header. Generate keys in Settings → API.
Authorization: Bearer vsk_live_xxxxxxxxxxxxxxxxxxxxxxxxhttps://vinespire.com/api/public/v1List the brands you have access to.
curl https://vinespire.com/api/public/v1/brands \
-H "Authorization: Bearer vsk_live_..."{
"data": [
{ "id": "uuid", "name": "Acme", "domain": "acme.com", "industry": "B2B SaaS", "is_self": true }
]
}Latest Brand Authority score snapshot for a brand.
curl "https://vinespire.com/api/public/v1/score?brand_id=BRAND_UUID" \
-H "Authorization: Bearer vsk_live_..."Optimization opportunities sorted by score. Query params: brand_id, status, limit (max 200).
curl "https://vinespire.com/api/public/v1/opportunities?limit=20" \
-H "Authorization: Bearer vsk_live_..."List the competitors you're tracking.
curl https://vinespire.com/api/public/v1/competitors \
-H "Authorization: Bearer vsk_live_..."Aggregate cited URLs from multi-sample AI visibility answers across your prompt set. Groups by page and domain, ranks by frequency, and returns concentration: these N pages account for X% of citations in your category. Query params: brand_id, engine (default gemini), top_n (default 5), lookback_days (default 28).
curl "https://vinespire.com/api/public/v1/citations?top_n=5" \
-H "Authorization: Bearer vsk_live_..."{
"data": {
"summary": { "total_citations": 42, "unique_pages": 18, "unique_domains": 9 },
"concentration": {
"pages": {
"top_n": 5,
"share_percent": 62,
"label": "These 5 pages account for 62% of citations in your category"
}
},
"pages": [{ "url": "https://g2.com/...", "citation_count": 12, "share_percent": 29 }],
"domains": [{ "domain": "g2.com", "citation_count": 15, "share_percent": 36 }]
}
}Compare citation intelligence for your brand vs each tracked competitor (citation-count deltas). When a gap exceeds the threshold (default 3, or gap_threshold), automatically enqueues Competitor Reverse Engineering for that rival's top 10 cited pages. Query: auto_trigger (default true), brand_id, engine, top_n, gap_threshold.
curl "https://vinespire.com/api/public/v1/citation-comparison?auto_trigger=true" \
-H "Authorization: Bearer vsk_live_..."Prompts where no brand in the competitive set exceeds a recommendation threshold (default 15%). Ranked by free demand: Google Trends interest when available, else Source Mining mention frequency. Query: threshold, min_samples, engine, skip_trends.
curl "https://vinespire.com/api/public/v1/uncontested-prompts?threshold=15" \
-H "Authorization: Bearer vsk_live_..."Ranked GEO action list for the current (or recent) report cycle. Synthesizes Citation Gap, Competitor Reverse Engineering, uncontested prompts, and the customer's Crawlability Audit via a single Gemini generation per customer per ISO week. Query: limit (default 1).
curl "https://vinespire.com/api/public/v1/action-synthesis?limit=1" \
-H "Authorization: Bearer vsk_live_..."JSON envelope { "error": "..." } with appropriate HTTP status:
401: missing, malformed, revoked, or unknown key403: key owner is no longer on the Agency plan404: resource not found or not owned by you500: internal errorOutbound webhooks are configured in Settings → Integrations. Events are signed with HMAC-SHA256 over the raw JSON body, sent in the X-Vinespire-Signature header.
X-Vinespire-Signature: sha256=<hex>
X-Vinespire-Event: opportunity.high_score