---
title: List the technologies a company's site runs
description: Get a company's tech stack from its domain through looot's company.technographics job.
---

`company.technographics` lists the technologies a site runs (analytics, hosting, payments,
frameworks and more), read from the domain. It is part of the [account research
guide](/guides/account-research); this page covers it on its own.

## What it costs

```json MCP
search {"filters": {"capability": "company.technographics"}, "prefer": "cheapest"}
```

On 2026-09-28 the cheapest listed provider priced around $0.01 per result, and one provider on the
job runs free. Check the live prices and [`balance`](/mcp-tools/balance) before a batch of domains.

1. **Run it**

    Send `domain`:

    <CodeGroup>

    ```json MCP
    run {"endpointId": "job:company.technographics", "input": {"domain": "example.com"}, "idempotencyKey": "tech-example-1", "fallback": true}
    ```

    ```bash REST
    curl -s "https://api.looot.ai/v1/runs?wait=20" \
      -H "Authorization: Bearer $LOOOT_TOKEN" \
      -H "Content-Type: application/json" \
      -d '{
        "endpointId": "job:company.technographics",
        "input": {"domain": "example.com"},
        "idempotencyKey": "tech-example-1",
        "fallback": true
      }'
    ```

    ```bash CLI
    looot run job:company.technographics --input '{"domain": "example.com"}' --wait
    ```

    </CodeGroup>

    :::note
    looot 1.1.0 does not accept `--fallback` on `looot run`. The CLI call above tries one provider.
    :::

2. **Read the stack**

    This job has no [`normalized`](/concepts/normalized-output) map yet, so read the technology list from `result`. Providers differ
    in how they group results (by category, by vendor); check [`servedProviderId`](/concepts/served-provider) so you know whose
    shape you are reading.

## What the answer looks like

| Field | What it is |
| --- | --- |
| `status` | `completed`, `failed`, `queued`, `running` |
| [`outcome`](/concepts/outcomes) | `hit`, `weak`, `miss`, `error`, `rejected`, `skipped` or `pending` |
| `servedProviderId` | the provider that answered |
| `actualCost` | what this run charged |
| `route.summary` | fallback runs only |

## On a miss or error

- A domain with nothing detected: `outcome` is `miss`, not an error. Some sites genuinely run
  little the providers fingerprint.
- A domain that is not reachable: check the domain is a bare host (`example.com`, not
  `https://example.com/about`) before you run it again.
- [`insufficient_balance`](/errors/rest-errors#insufficient_balance): the run is blocked and not charged. Use [`top_up`](/mcp-tools/top-up), then retry with a new
  [`idempotencyKey`](/concepts/idempotency).

<Related />
