Know any company’s tech stack in seconds.

Clean technographics API for sales, recruiting, investing, and market research.

60 lookups/hr free · no card Structured JSON + taxonomy Batch & CLI
stripe.com
stripe-com · startup
hit
Detected stack (sample)
CI/CD GitHub Actions
82% 2026-03-20
Observability Datadog
78% 2026-03-20
Web Analytics Google Analytics
70% 2026-03-20
Get a free API key Developer examples

curl -sS "https://techstackintel.com/v1/lookup?domain=stripe.com"

Use cases

Sales intelligence

Qualify accounts and tailor outreach with a structured view of what they run.

Technical recruiting

Ground screening in the real toolchain candidates work with day to day.

Investment research

Compare vendor footprints across a portfolio in minutes, not weeks.

Market analysis

Benchmark adoption and spot whitespace with consistent categories.

Why teams use the API

Built for automation and analysis — not screenshots.

Typical scraper pagesTechStackIntel
HTML-heavy, brittle selectorsStable JSON keyed by taxonomy slugs
One site at a timeGET /v1/lookup + batch POST
Opaque confidenceEvidence + confidence on each row

For developers

Same examples as our live API — copy and run.

Proof: The full JSON below is the live GET /v1/lookup shape for the demo domain (includes merged taxonomy on each stack row).

cURL

curl -sS "https://techstackintel.com/v1/lookup?domain=stripe.com"
curl -sS -X POST "https://techstackintel.com/v1/batch/lookup" \
  -H "content-type: application/json" \
  -d '{"domains":["stripe.com","vercel.com"]}'

CLI

tsi lookup stripe.com   # same as curl; set TSI_API_BASE=https://techstackintel.com

Live API response

Example response for stripe.com — your integrations should treat this as the canonical envelope.

{
  "nextAction": "ok",
  "data": {
    "company": {
      "domain": "stripe.com",
      "companyKey": "stripe-com",
      "segment": "startup",
      "stack": {
        "ci-cd": {
          "evidence": {
            "value": "GitHub Actions",
            "confidence": 0.82,
            "refreshedAt": "2026-03-20T12:00:00.000Z"
          },
          "taxonomy": {
            "slug": "ci-cd",
            "name": "CI/CD",
            "parent_slug": "engineering",
            "level": 2,
            "business_domain": "Engineering",
            "owner_role": "Platform Engineer",
            "spend_sensitivity": "high",
            "security_sensitivity": "high",
            "duplication_risk": "medium",
            "strategic_importance": "critical",
            "status": "active",
            "description": "Build test release and deployment pipelines"
          }
        },
        "observability": {
          "evidence": {
            "value": "Datadog",
            "confidence": 0.78,
            "refreshedAt": "2026-03-20T12:00:00.000Z"
          },
          "taxonomy": {
            "slug": "observability",
            "name": "Observability",
            "parent_slug": "engineering",
            "level": 2,
            "business_domain": "Engineering",
            "owner_role": "Platform Engineer",
            "spend_sensitivity": "critical",
            "security_sensitivity": "high",
            "duplication_risk": "high",
            "strategic_importance": "critical",
            "status": "active",
            "description": "Monitoring logging tracing and reliability tooling"
          }
        },
        "web-analytics": {
          "evidence": {
            "value": "Google Analytics",
            "confidence": 0.7,
            "refreshedAt": "2026-03-20T12:00:00.000Z"
          },
          "taxonomy": {
            "slug": "web-analytics",
            "name": "Web Analytics",
            "parent_slug": "marketing",
            "level": 2,
            "business_domain": "Marketing",
            "owner_role": "Growth Lead",
            "spend_sensitivity": "medium",
            "security_sensitivity": "medium",
            "duplication_risk": "high",
            "strategic_importance": "high",
            "status": "active",
            "description": "Website traffic and conversion analytics"
          }
        }
      }
    },
    "cacheStatus": "hit",
    "schemaVersion": "1.0.0"
  }
}

Improve this company profile

Contribute evidence and help verify detected vendors — same pipeline as our LLM workflow, framed around outcomes.

  1. Research public sources for a domain (DNS, jobs, case studies). Use Advanced: LLM prompts & validation if you want copy-paste prompts or a one-click URL handoff.
  2. Submit structured research that matches our API envelope — we validate, merge taxonomy server-side, and show you how it compares to our cache.
  3. Paste your POST body below. Optionally note which model you used (analytics only).
  4. Click Submit research. We store valid rows and return our cached snapshot when available.
  5. If validation fails, use the Fix prompt returned in the same LLM thread and try again.

Fix prompt (paste this back into the same LLM chat, then replace the JSON above with the new output):


Advanced: curl instead of this form

Same endpoint as the button: POST /v1/contribute/research

curl -sS -X POST "https://techstackintel.com/v1/contribute/research" \
  -H "content-type: application/json" \
  -d "{\"domain\":\"stripe.com\",\"research\":{\"nextAction\":\"ok\",\"data\":{\"company\":{\"domain\":\"stripe.com\",\"companyKey\":\"stripe-com\",\"segment\":\"startup\",\"stack\":{\"ci-cd\":{\"evidence\":{\"value\":\"GitHub Actions\",\"confidence\":0.82,\"refreshedAt\":\"2026-03-20T12:00:00.000Z\"}}}},\"cacheStatus\":\"miss\",\"schemaVersion\":\"1.0.0\"}}}"

Get a free API key

Send POST /auth/magic with JSON {"email":"you@company.com"}, then open the magic link. Use X-Api-Key or Authorization: Bearer … on subsequent calls.

Limits

Pricing

Free for exploration. Pro/Scale for teams and automation — contact after product-market fit.

Advanced: LLM prompts & validation

Prompt (variant B — 2 of 5)

A/B prompt for research assistants — copy into ChatGPT, Claude, or another LLM.

Build a technographics snapshot for stripe.com.

Critical: Before writing stack keys, fetch https://techstackintel.com/v1/taxonomy and use only the "slug" values that appear there as object keys under company.stack. If a tool does not map cleanly, pick the closest slug or omit the row — do not invent slugs like "email-hosting" or "business-intelligence" unless that exact slug exists in the taxonomy response.

Sources to use (public only):
• DNS MX and TXT (SPF, DKIM, DMARC, verification records)
• Customer stories, case studies, press
• Job postings naming tools
• Docs, developer portals, status pages

Each stack entry: { "evidence": { "value": string|null, "confidence": 0..1, "refreshedAt": ISO8601 UTC } }.

Output one JSON object only, no markdown fences, matching a successful https://techstackintel.com/v1/lookup response shape with "cacheStatus": "miss" and "schemaVersion": "1.0.0". No "taxonomy" keys on stack rows.

LLM output (matches our API)

Same envelope as GET /v1/lookup: nextAction + data.company.stack keyed by taxonomy slugs, with evidence only on each row (we merge category metadata server-side).

{
  "nextAction": "ok",
  "data": {
    "company": {
      "domain": "stripe.com",
      "companyKey": "stripe-com",
      "segment": "startup",
      "stack": {
        "ci-cd": {
          "evidence": {
            "value": "GitHub Actions",
            "confidence": 0.82,
            "refreshedAt": "2026-03-20T12:00:00.000Z"
          }
        },
        "observability": {
          "evidence": {
            "value": "Datadog",
            "confidence": 0.78,
            "refreshedAt": "2026-03-20T12:00:00.000Z"
          }
        },
        "web-analytics": {
          "evidence": {
            "value": "Google Analytics",
            "confidence": 0.7,
            "refreshedAt": "2026-03-20T12:00:00.000Z"
          }
        }
      }
    },
    "cacheStatus": "miss",
    "schemaVersion": "1.0.0"
  }
}