Skip to main content
Glama

LinkedIn Ad Library (competitor ads)

linkedin_ad_library
Read-only

Competitor ad research: search LinkedIn's public Ad Library by keyword (ad text) and/or advertiser (company Page name). Returns each ad's advertiser, format, who paid, first/last shown dates, impressions range, top countries, targeting summary (EU ads), ad copy when LinkedIn includes it, and a link to the ad's public Ad Library page, plus a summary of formats, long-running ads (running 30+ days = likely winners) and repeated offers/CTAs. Public ad-transparency data, not the user's account data. Impressions, dates and targeting are mostly reported for ads shown in the EU. countries: ISO codes (e.g. SA, AE); defaults to the client's market when one client is in play; pass ["ALL"] for no filter. Dates filter when the ad was shown.

Input Schema

NameRequiredDescriptionDefault
limitNoAds to return (default 25 for keyword searches, 100 for an advertiser; max 200).
detailNosummary (default): headline numbers and the top 5 rows — right for a specific question or a quick look. full: every row and section — only when the user asks for a full report, a complete list or all the details.
folderNoClient folder, used only to default the country to the client's market.
keywordNoWords in the ad (e.g. a product or offer).
end_dateNoYYYY-MM-DD: shown on or before.
languageNoLanguage of the card: the language the user is writing in (ar for any Arabic dialect).
countriesNoISO 3166-1 alpha-2 codes where the ads were shown, e.g. ["SA","AE"]. ["ALL"] = no filter.
advertiserNoAdvertiser / company Page name (e.g. a competitor).
start_dateNoYYYY-MM-DD: shown on or after.
exact_advertiserNoDefault true: keep only ads whose advertiser or payer is this company. false = also partners and others LinkedIn matches.

Schema Changelog

Changes observed during successful MCP inspections.

No schema history has been recorded yet.

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already establish read-only, non-destructive, open-world behavior, yet the description adds real substance: the exact return fields, the fact that impressions, dates and targeting are mostly EU-only, and an interpretive heuristic (30+ days running = likely winners). It does not cover cost/latency of broad searches, empty-result behavior, or how 'exact_advertiser' affects match quality beyond the schema's own text.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Information is front-loaded — purpose, then returned fields, then the EU data caveat, then parameter notes — with no filler adjectives. It is long for a single paragraph, and the closing countries/dates sentences duplicate schema text, so trimming those would sharpen it without losing anything.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description carries the full burden of explaining returns, and it does so field by field plus the summary sections. Combined with the EU-coverage caveat and the winner heuristic, an agent has enough to call this tool correctly and to set expectations about gaps in the data.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so every parameter is already documented; the description largely restates that (ISO codes, ["ALL"] for no filter, dates filtering on when the ad was shown). Its only genuine additions are the and/or combinability of keyword and advertiser and the note that countries defaults to the client's market, which the schema also implies via the folder parameter. Baseline 3 is appropriate when the schema carries the load.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The opening sentence names a specific verb and resource — 'search LinkedIn's public Ad Library by keyword (ad text) and/or advertiser (company Page name)' — and frames it as competitor ad research. The clause 'Public ad-transparency data, not the user's account data' cleanly separates it from the account-owning siblings like linkedin_ads, linkedin_campaigns and linkedin_performance.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Use context is clear: competitive research over public transparency data rather than the user's own account, and the keyword/advertiser inputs are described as combinable ('and/or'). It stops short of explicitly naming the sibling to use instead (e.g. linkedin_ads) for own-account questions, and gives no guidance on what to do when a search returns nothing or is too broad.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources