webscore-sdk
v0.1.2
Published
JavaScript client for the WebScore API — GEO AI visibility scanning, AEO, SEO, Health, and Accessibility audits
Downloads
435
Maintainers
Readme
webscore-sdk
The npm package for measuring your brand's AI Search presence — GEO visibility across Gemini, ChatGPT, Perplexity, and Claude, plus AI technical readiness auditing.
Install
npm install webscore-sdkQuickstart
import { WebScore } from 'webscore-sdk'
const client = new WebScore('waa_your_key_here')
// GEO — AI Share of Voice scan
const result = await client.geo('https://your-site.com')
console.log(result.geo.mentionRate) // e.g. 0.67
console.log(result.geo.citationRate) // e.g. 0.33
console.log(result.geo.sentiment) // "positive" | "neutral" | "negative"Get an API key
Generate a free key at www.webscore.dev/dashboard.html — no sign-up, no credit card.
Free tier: 3 GEO scans / day.
Methods
client.geo(url) → GeoResult
Live AI visibility scan. Queries Gemini, ChatGPT, Perplexity, and Claude with brand-specific questions. Returns mention rate, citation rate, sentiment, funnel breakdown, and which questions your brand missed.
const { geo, missedQuestions } = await client.geo('https://your-site.com')
console.log(`Mention rate: ${Math.round(geo.mentionRate * 100)}%`)
console.log('Missed questions:', missedQuestions)client.compare(url1, url2) → CompareResult
Head-to-head GEO comparison between two URLs. Returns winner, per-engine breakdown, and a summary.
const { winner, site1, site2 } = await client.compare(
'https://your-site.com',
'https://competitor.com'
)
console.log(`Winner: ${winner}`)client.aeo(url) → AeoResult
AI technical readiness audit — llms.txt, AI crawler access, structured data, E-E-A-T signals.
const { score, issues } = await client.aeo('https://your-site.com')TypeScript
Types are included — no @types/ package needed.
import { WebScore, GeoResult } from 'webscore-sdk'
const client = new WebScore('waa_your_key')
const result: GeoResult = await client.geo('https://your-site.com')Timeout
GEO scans query live AI engines and can take up to 60 seconds. The default timeout is 90 seconds. Pass a custom base URL for local testing:
const client = new WebScore('waa_your_key', {
baseUrl: 'http://localhost:3000'
})License
MIT
