Quickstart

From zero to a competitive field map in three steps.

1. Get an API key

Sign in with GitHub to mint a key. The free tier gives you 50 companies a month, no card required. Your key looks like sk_live_… — send it in the x-api-key header.

2. Call analyze

Send a set of at least 3 companies as clean text. stratless doesn’t scrape — you bring the text (from any scraper, or by hand).

curl -X POST https://api.stratless.com/v1/analyze \
  -H "x-api-key: sk_live_…" \
  -H "content-type: application/json" \
  -d '{
    "texts": [
      { "name": "Pinecone", "text": "Fully managed vector database for production AI…" },
      { "name": "Qdrant",   "text": "Open-source vector search engine, self-hostable…" },
      { "name": "Weaviate", "text": "Open-source vector database with hybrid search…" }
    ]
  }'
import requests

res = requests.post(
    "https://api.stratless.com/v1/analyze",
    headers={"x-api-key": "sk_live_…"},
    json={
        "texts": [
            {"name": "Pinecone", "text": "Fully managed vector database for production AI…"},
            {"name": "Qdrant",   "text": "Open-source vector search engine, self-hostable…"},
            {"name": "Weaviate", "text": "Open-source vector database with hybrid search…"},
        ]
    },
)
field_map = res.json()
const res = await fetch("https://api.stratless.com/v1/analyze", {
  method: "POST",
  headers: { "x-api-key": "sk_live_…", "content-type": "application/json" },
  body: JSON.stringify({
    texts: [
      { name: "Pinecone", text: "Fully managed vector database for production AI…" },
      { name: "Qdrant",   text: "Open-source vector search engine, self-hostable…" },
      { name: "Weaviate", text: "Open-source vector database with hybrid search…" },
    ],
  }),
})
const fieldMap = await res.json()

3. Read the field map

The response is a JSON envelope. data holds the map:

{
  "success": true,
  "requestId": "req_…",
  "data": {
    "coherent": true,
    "axes": [
      { "key": "deployment", "label": "Deployment model", "values": ["managed", "self-hosted"] },
      { "key": "openness",   "label": "Source model",     "values": ["open-source", "proprietary"] }
    ],
    "companies": [
      {
        "name": "Pinecone",
        "coords": { "deployment": "managed", "openness": "proprietary" },
        "nearest": [{ "name": "Qdrant", "sim": 0.79, "confidence": "high" }],
        "confidence": { "label": "high", "score": 0.897 }
      }
    ],
    "clusters": [ /* … */ ],
    "white_space": [
      { "where": { "deployment": "managed", "openness": "open-source" },
        "note": "No managed offering of a fully open-source engine.",
        "barrier": "Requires operating someone else's OSS at scale." }
    ]
  },
  "meta": { "count": 4, "cost": 4 }
}

That’s it. See The analyze API for every field, or a recipe to wire in your scraper.