# competitor_intel

> Competitor data.

URL: https://mcp-docs.opennomos.com/docs/tools/research/competitor_intel

> Competitor data. action=tech_stack (`domain`, use the final domain e.g. 'notion.com' — redirecting domains fail) → CMS/analytics/ads/frameworks, socials; ~3s, $0.012. action=facebook_ads (`query` brand or keyword, `country` default 'US') → active Meta ads (body, CTA, link, start date) returned directly; ~12s, ~$0.0075 (min 10 results). action=google_ads_advertisers (`query` brand name) → advertiser ids with approx ad counts; SLOW ~75s, $0.0024. action=google_ads (`advertiser_ids` from the previous action) → their Google ads with first/last shown, returned directly; ~14s, $0.0024.>
> Tech stack and advertiser searches return results; ad searches return data without storing memory.

| Field | Value |
| --- | --- |
| Pack | Competitors (`competitors`) |
| Estimated cost per call | ~$0.012 (upstream cost; see the description for per-action figures) |
| Monthly pack limit | $2 of upstream cost (not shown to users) |
| Project | optional (`project` or `X-OpenNomos-Project`); only attaches the project id to the result |

## Parameters

| Parameter | Required | Type | Description |
| --- | --- | --- | --- |
| `project` | no | `string` | Project slug or id. Omit to use the credential or workspace default. |
| `action` | yes | `"tech_stack"` \| `"facebook_ads"` \| `"google_ads_advertisers"` \| `"google_ads"` | What to look up; see the tool description for what each action needs and returns. |
| `domain` | no | `string` | tech_stack only: final domain without protocol, e.g. 'notion.com'. |
| `query` | no | `string` | facebook_ads / google_ads_advertisers: brand or keyword, e.g. 'notion'. |
| `advertiser_ids` | no | `string[]` | google_ads only: advertiser ids returned by google_ads_advertisers. |
| `country` | no | `string` | facebook_ads only: 2-letter country code, e.g. 'US', 'GB', 'JP'. Default 'US'. |

## Example call

```json
{
  "action": "tech_stack",
  "domain": "notion.com"
}
```

REST: `POST https://service.opennomos.com/v1/tools/competitor_intel` with that JSON as the body. MCP: `tools/call` with `name: "competitor_intel"` and that JSON as `arguments`.

## Example result

Values are illustrative; the shape comes from the service code.

```json
{
  "results": [
    {
      "…": "technologies, analytics, ads, frameworks and social profiles as returned by the provider"
    }
  ]
}
```

## Notes

- Use the final domain for `tech_stack`: a domain that redirects fails.
- `google_ads_advertisers` is slow (about 75 s). Use its advertiser ids with `google_ads`.
- `facebook_ads` always asks the provider for 10 results (minimum), whatever you pass.

## Errors

Upstream trouble is reported **inside a normal result** as `error`, `reason` and `action` (and `tool` / `retry_after_seconds` when they apply). For `search_signals` this appears per source. See [Errors](https://mcp-docs.opennomos.com/docs/reference/errors.md).

This tool is in the **Competitors** pack. If the pack is not enabled the call fails with `pack_required` (HTTP 403); if the pack's monthly upstream cost limit is used up it fails with `soft_limit` (HTTP 429). Both carry `action: "give_up_and_tell_user"` and the console URL.
