Competitive intel

Read the ads your competitors are actually running

Your competitors publish their positioning every day and pay to distribute it. For competitor ad intelligence, OXYGEN reads their public ad libraries into a table, one cell per competitor and network.

try

A competitor's ad library shows what they think their buyer cares about this quarter. It holds the headline they keep paying for, the proof they lead with and the objection they answer first. In a table, it sits beside what you know about that account.

Each read is one paid request. A dry run shows it and its price first, and a cap bounds the spend. Each network's answer lands as one cell with the advertiser, creative and media. Nothing is bought or published from here.

Example searches

Ask for it the way you'd say it

Each example is a request in plain words, with what it returns underneath.

  • One competitor, three networks

    list the ads competitor.com is running on linkedin, meta and google with their start dates

    Each network returns a page of creatives with advertiser and media. LinkedIn shows run dates only for ads served in the EU, and its advertiser can be a person.

  • Find the angle they repeat

    group this competitor's ads by headline and tell me which offer they keep buying

    An AI column reads the creatives in the table, so the summary rests on real ads, not a model's memory.

  • Watch a category, not a company

    read the ads my six closest competitors are running again each month

    A full refresh reads each competitor again once its stored page is over 30 days old. Each read replaces the cell, and nothing flags a new creative.

Plays

Three motions you can run this week

Each one is a chain of OXYGEN primitives: the same hosted objects your workspace already has, composed.

  • Build the competitor board

    One table holds the first page of each close competitor's ads, per network.

    1. 1Search the catalog for linkedin ads or facebook ads and read the Adyntel operation's schema first.
    2. 2Add it as a column on a table of competitor domains, read the free dry-run quote, then run one row before the rest.
    3. 3On LinkedIn, set live_ads to true, and on Google check each ad's last-seen date. Meta returns only running ads by default.
    oxygen tools search
  • Turn creatives into positioning

    The offers a competitor keeps paying to show become a cited page instead of a hunch.

    1. 1Add an AI column that summarizes the offer, angle, and proof in each competitor's ad cell.
    2. 2File the synthesis as a cited wiki page, so the finding is still there when you write the next brief.
    oxygen columns add
  • Watch the category on a cadence

    New competitors are read on the next run, and tracked ones again about once a month.

    1. 1Schedule the ad-library column with a per-run credit ceiling; each run also bills a workflow step. Without --force, a run reads only rows with no ads cell yet.
    2. 2With --force, a competitor read in the last 30 days returns its stored page instead of a new paid read. Each is read fresh about once a month.
    oxygen tables schedule set

Capabilities

What you get

  • Creatives as data, not screenshots

    Each read lands as one cell with the request, response, and provenance. A free formula column pulls out the fields you sort on.

  • A dry run before you spend

    A dry run shows the request and the estimate for free. A live read runs under a credit ceiling. A call from the command line, or from an AI assistant over MCP, must also carry an approval flag.

  • Context around the campaign

    Web search and page extraction sit next to the library read. The landing page an ad points at can be pulled alongside the creative that sells it.

  • Findings that outlive the tab

    Synthesis files into the workspace wiki as a cited page. An AI column reads it once you map the page in.

Boundaries

What Ads does not own

Ads only reads other companies' public ads: there is no campaign building, no audience push and no report on your own ad spend. A post you publish yourself belongs to Posts and Publishing, and the competitor itself is a company record.

Data sources

Data sources and CRM connections

  • Adyntel

    Reads the Meta, LinkedIn and Google ad libraries by company domain, and Meta, LinkedIn and TikTok by keyword, one page per paid request.

  • Exa

    Web search for the context around a campaign: the launch, pricing change or hire that explains it.

  • Firecrawl

    Pulls the landing page an ad points at, so the offer and the creative can be read together in one row.

  • Br
    Bright Data

    Reads a competitor's public LinkedIn posts from its company page link: the organic side that an ad library does not show.

Use managed credits where available, or connect a supported provider key on an eligible paid plan. Your provider bills its calls; OXYGEN adds a per-call platform fee. Signed-in CRM connections such as HubSpot have no per-call fee. Connected sending accounts reserve monthly credits. See pricing and supported integrations.

Limits

Where this stops

  • Four networks are covered: Meta, LinkedIn and Google by company domain, and TikTok only by keyword, which returns any advertiser's ads. A competitor advertising elsewhere will not appear, and an empty result does not prove nobody is spending.

FAQ

Questions people ask first

Is there a dedicated ads command yet?
Yes, for saved searches: oxygen ads searches save stores a named query, such as one competitor's domain on LinkedIn, Meta or Google, at no cost. Running it goes through the matching Adyntel tool, with a free dry run, your approval and a credit ceiling.
What does one read cost?
Each page is one paid request, quoted free by a dry run and run only under the credit ceiling you set. The same read repeated within 30 days returns the stored page at no charge. Saving a search or reading a schema costs nothing.
Can I activate audiences from my CRM?
No. Pushing an audience or campaign from your CRM to an ad platform is not a feature. What works today is reading competitors' public ads into a table and filing what you learn.
How do I keep the board current?
Schedule the ad-library column with an approved per-run credit ceiling. A competitor you add is read on the next run. With --force, each one is read again once its stored page is over 30 days old.
Where should the findings actually live?
In the workspace wiki as a cited page, not in a slide nobody opens. An AI column reads the page when you map it in, while message drafts read only your pinned voice, brand and positioning pages.
Can I link creatives to my account list?
Yes. Bind each row to its company record by domain, and put the ad count in a formula column. Add a matching Companies field, then promote the column onto it. Promote fills only empty fields unless you pick overwrite.

Try Ads in your own workspace

Sign up free with a one-time credit grant, and an in-app AI agent researches your company and proposes your first plays. Pick a plan to run one from the web app, the command line, or an AI assistant you link over MCP.