Skip to main content
Glama
thenavidm

ScrapeCreators MCP Server

by thenavidm

Company Ads

facebook_ad_library_company_ads

Fetch all active ads for a company from Meta Ad Library. Filter by country, media type, date, and language.

Instructions

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. Potentially consumes paid API credits; requires confirm=true. Read-like POST requests do not publish to social platforms.

Input Schema

TableJSON 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.
accountNoNamed private ScrapeCreators account; selects credentials, not a remote account ID.
confirmNoMust be true for the specific approved credit-consuming research call.
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. First observedv2.0.0

TDQS

A3.7/5.0
Behavior4/5

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

With readOnlyHint=false, the description usefully clarifies that this is a 'read-like POST' that does not publish to social platforms, and that the call consumes paid API credits and requires confirm=true. These are exactly the behavioral traits the annotations leave ambiguous, though pagination limits and rate/credit amounts are not spelled out.

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?

Front-loads what is fetched, then filters, then the GET/POST mechanics. Dense but each sentence carries information; the last credit/POST sentence is slightly tacked on but earns its place.

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 a 13-parameter, no-output-schema tool, the description compensates by enumerating the response fields (ad_archive_id, page_name, is_active, publisher_platform, snapshot with body/images/videos/display_format) and covering cursor pagination and credits. Missing only explicit sibling routing, which limits it from a 5.

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 all 13 parameters are already documented in the schema (including pageId vs companyName and the enum meanings). The description only summarizes the filter categories (country, media_type, date range, language), which adds marginal value over the schema.

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?

States a specific verb and resource ('Fetches all ads currently running for a specific company from the Meta Ad Library') and names the returned fields. It scopes to company-specific ads, which distinguishes it loosely from the generic facebook_ad_library_search sibling, but it never names that sibling explicitly.

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?

It gives a conditional fallback (use POST with the same JSON body when the cursor becomes too large) and notes confirm=true is required, which is genuine operational guidance. However there is no when-to-use/when-not guidance relative to the search, search_for_companies, or ad_details siblings.

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

Deploy Server

Other Tools