> ## Documentation Index
> Fetch the complete documentation index at: https://docs.erdo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Competitor ad research

> Compare competitor advertising across Meta, LinkedIn and Google, with source links and coverage limits.

Ask Maya (Competitive Intelligence) or Devon (Advertising Lead) to research competitor ads, or run **Research Competitor Ads** from the job templates. Name the competitors, countries and period you want compared. The onboarding research job and Competitive intelligence workspace template use the same sources.

The report combines Meta Ad Library browser research, LinkedIn Ad Library searches, and Google search observations. When Google Ads is connected, Keyword Planner adds search-volume, competition and bid estimates for category keywords and competitor websites. These estimates describe the keyword market; they do not reveal a competitor's actual bids, spend or keyword list.

## LinkedIn coverage

LinkedIn API search requires LinkedIn Ads Data Sync to be connected, Erdo's LinkedIn application to have the LinkedIn Ad Library product approved, and the feature to be enabled for your workspace. It is initially available to staff for validation. The connection uses your existing member authorization; the Ad Library requires no additional OAuth scope. See [LinkedIn's access requirements](https://www.linkedin.com/ad-library/api/).

Searches can filter by advertiser name, keywords, countries and served dates. The start date is inclusive and the end date is exclusive. Erdo asks for an explicit period because LinkedIn's default searches only the interval from two days ago to yesterday.

Each result includes the advertiser and ad-preview link, format, and any first/last impression dates, targeting and impression ranges supplied by LinkedIn. The API does not document an ad-copy field. The agent can inspect unrestricted preview pages in the browser for copy, creative and calls to action, and cite those pages separately. Restricted ads retain their restriction notice. See [LinkedIn's response schema](https://www.linkedin.com/ad-library/api/ads).

Targeting and impression data may be absent. Missing values mean unknown. An impression range whose upper value is zero has no finite upper bound. Ad counts, longevity and impressions do not establish spend or profitability.

## Incomplete and unavailable sources

Searches return one page at a time. The agent follows the next offset and records any pages left unread. A result covers the supplied query, countries and dates, not all of a competitor's advertising.

If the connection is missing, product access is denied, or LinkedIn rate-limits the request, the report marks LinkedIn coverage unavailable and continues the other sources. An unavailable search does not mean the competitor has no ads. Separately cited public-browser observations can still contribute to the report.

## Automation action

Discover the action through `search_integration_actions` with app `linkedin_ads_sync` and invoke it through `run_integration_action` with action key `search_linkedin_ad_library`. It is read-only and does not need an approval.

```json theme={null}
{
  "advertiser": "Example Company",
  "countries": ["US", "GB"],
  "start_date": "2026-09-01",
  "end_date": "2026-10-01",
  "start": 0,
  "count": 10
}
```

`keyword` can accompany or replace `advertiser`; multiple words use AND matching. Page sizes range from 1 to 24. When `page_may_be_incomplete` is true, repeat the same filters with `start` set to `next_start`. A successful empty search has `status: "available"` and an empty `ads` array. A failed or unavailable search carries an `error` and no `ads` array; unavailable results use `status: "not_available"` and a reason.

LinkedIn documents rate limits without publishing a numeric Ad Library quota. A rate-limited response includes `retry_after` when LinkedIn supplies it. Workspace operators should check their app's Analytics tab for its limits. LinkedIn describes the API as intended for research and non-commercial use; use must fit the application's approved purpose and [Ad Library program terms](https://www.linkedin.com/ad-library/api/).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.