ScrapingBee → stratless

ScrapingBee renders and returns page content via a single GET. Scrape your set, then map it.

const KEY = process.env.STRATLESS_API_KEY
const BEE = process.env.SCRAPINGBEE_API_KEY
const set = [
  { name: 'Pinecone', url: 'https://pinecone.io' },
  { name: 'Qdrant',   url: 'https://qdrant.tech' },
  { name: 'Weaviate', url: 'https://weaviate.io' },
]

// 1 — scrape each page to text
const scrape = (url) =>
  fetch(
    `https://app.scrapingbee.com/api/v1?api_key=${BEE}&url=${encodeURIComponent(url)}`,
  ).then((r) => r.text())

const pages = await Promise.all(set.map((s) => scrape(s.url)))

// 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.