Tavily → stratless
Tavily extracts clean content from URLs. Extract your set, then map it.
import { tavily } from '@tavily/core'
const tvly = tavily({ apiKey: process.env.TAVILY_API_KEY })
const KEY = process.env.STRATLESS_API_KEY
const set = [
{ name: 'Pinecone', url: 'https://pinecone.io' },
{ name: 'Qdrant', url: 'https://qdrant.tech' },
{ name: 'Weaviate', url: 'https://weaviate.io' },
]
// 1 — extract clean content for the set
const { results } = await tvly.extract(set.map((s) => s.url))
const pages = results.map((r) => r.rawContent)
// 2 — analyze the set → a competitive field map
const res = await fetch('https://api.stratless.com/v1/analyze', {
method: 'POST',
headers: { 'x-api-key': KEY, 'content-type': 'application/json' },
body: JSON.stringify({
texts: set.map((s, i) => ({ name: s.name, text: pages[i] })),
}),
})
const fieldMap = await res.json()
See The analyze API for the full response shape.