# Competitor intel

2 LinkedIn Ads tools, each with its inputs, hosted support and CLI command.

No CLI command or MCP tool launches a local browser or falls back to scraping when the API fails.

## inspect_competitor_ads

Discovers any company's ads through the official LinkedIn Ad Library API. In `api` mode it returns metadata only. In `auto` mode it also queues at most 10 ads on the optional [remote creative worker](https://github.com/adwarp-dev/adwarp/tree/main/services/creative-worker) for creative copy and screenshots, and returns cached results or job status. Supply both `advertiser` and `companyId` to filter broad name matches before creatives are queued.

Discover competitor ads through the official API. auto optionally queues up to 10 creatives on the remote worker; api returns metadata only. Always provide advertiser plus companyId to filter unrelated name matches before collection. No local browser or scraper fallback. Read pending results with get_competitor_creatives. Cached screenshots require worker authentication. Report sample coverage and collection dates; never retry a blocked worker or use another browser/client. Synthesize findings rather than dumping rows.

LinkedIn Ads. Hosted, limited. Returns Ad Library metadata only, unless the server is configured with the remote creative worker.

CLI:

```
adwarp competitor ads <advertiser>
```

| Input | Type | What it is |
| --- | --- | --- |
| `advertiser` | string | Competitor/advertiser display name (accountOwner) |
| `companyId` | string | Numeric LinkedIn company id, more precise than name |
| `keyword` | string | Free-text keyword search across ad copy |
| `countries` | string[] | ISO-3166 country codes to scope, e.g. ['US','GB'] |
| `max` | integer | Max ads to collect |
| `engine` | auto \| api | auto = official API plus remote creative worker; api = metadata only. Local scraping is disabled. |
| `deep` | boolean | Enqueue up to 10 verified company ads on the remote worker; reuse cached creatives. |
| `concurrency` | 1 | Remote worker concurrency is fixed at one. |
| `copyMax` | integer | Creative sample size, capped at 10. Worker budgets cannot be overridden. |

## get_competitor_creatives

Reads completed remote creative jobs by ad id, without queuing new work.

Read remote creative job status and cached copy by ad IDs. Read-only: does not enqueue work or visit LinkedIn. Screenshots are available through the authenticated worker endpoint.

LinkedIn Ads. Hosted.

CLI:

```
adwarp creative-status <ids>
```

| Input | Type | What it is |
| --- | --- | --- |
| `ids` (required) | string[] |  |

Canonical page: https://adwarp.dev/docs/tools/competitor-intel
Last updated: 2026-10-18
