Skip to main content
Glama

Facebook Ad Library Company Ads

social_facebook_ad_library_company_ads
Read-only

Fetches all ads currently running for a specific company from the Meta Ad Library. Each ad includes ad_archive_id, page_name, is_active, publisher_platform, and a snapshot with body, images, videos, and display_format. Supports filtering by country, media_type, date range, and language with cursor-based pagination. Both GET and POST are supported. If the cursor becomes too large after extensive pagination, use POST and send the same parameters in the JSON body. Completed lookups cost at least 10 Nexscope credits. Actual cost depends on the operation and requested options. Repeated requests may purchase data again. Facebook Ad Library Company Ads API View Pricing Get a company's running ads. Use GET normally; for long pagination cursors, use POST with the same parameters in the JSON body. 1 credit per request GET /v1/facebook/adLibrary/company/ads Actual supplier units are reported per request. Examples are not guaranteed prices.

Input Schema

NameRequiredDescriptionDefault
trimNoSet to true for a trimmed down version of the response
cursorNoCursor to paginate through results
pageIdNoThe companies ad library page id. You can get this with my Search For Companies Endpoint. Can either use this or companyName
statusNoStatus of the ad. Defaults to ACTIVE.
countryNoThis can only be one country. It has to be the 2 letter code for the country. It defaults to ALL.
sort_byNoSort by impressions (high to low), or Most Recent (relevancy_monthly_grouped). Defaults to impressions.
end_dateNoEnd date to search for. Format: YYYY-MM-DD
languageNoLanguage to filter ads on. Needs to be 2 letter language code, ie EN, ES, FR, etc
media_typeNoMedia type of the ad. Defaults to ALL. Meme refers to ads with image and text. Not sure why they call it meme.
start_dateNoStart date to search for. Format: YYYY-MM-DD
companyNameNoThe name of the company. Can either use this or pageId

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A3.5/5.0
Behavior4/5

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

With readOnlyHint/openWorldHint already declaring the safety profile, the description still adds real value: the shape of an ad record, cursor-based pagination, the large-cursor-to-POST workaround, and credit cost with a warning that repeated requests may re-purchase data. The cost disclosure is internally muddled ('at least 10 Nexscope credits' versus '1 credit per request'), which blunts an otherwise strong section.

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

Conciseness2/5

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

The first paragraph is tight, but the rest is visibly pasted vendor boilerplate: the GET/POST guidance appears twice, pricing appears twice with conflicting figures, and fragments like 'API View Pricing Get a company's running ads' and 'Examples are not guaranteed prices' add no agent-usable signal. Roughly half the text could be deleted without losing information.

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

Completeness4/5

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

For an 11-parameter read-only lookup with no output schema, the description covers what a caller needs: what comes back, how pagination continues, how to handle oversized cursors, and that it costs credits. The only real gap is the contradictory credit figures and the absence of any sibling routing guidance.

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 description coverage is 100%, so every one of the 11 parameters is already documented, including enum meanings and the pageId/companyName alternative. The description only restates the filter axes (country, media_type, date range, language) without adding format rules or precedence beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

The opening sentence gives a specific verb and resource: fetch all currently running ads for a specific company from the Meta Ad Library, and it enumerates the returned fields. That is far more concrete than a tautology. It never distinguishes itself from close siblings like social_facebook_ad_library_search_ads or social_facebook_ad_library_search_companies, so it stops short of a 5.

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

Usage Guidelines3/5

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

The only use-oriented guidance is transport-level ('use GET normally; for long pagination cursors, use POST'), plus an implicit 'specific company' scoping. There is no statement of when to pick this over the sibling search_ads endpoint, nor prerequisites such as needing a pageId from the company-search endpoint (that hint lives only in the schema).

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.