Reliable data infrastructure for builders

Facebook Ad Library API built for reliable products.

Search public Meta ads through one stable API while Adscope handles collection states, normalization, retries, quotas, schedules, and delivery events behind the scenes.

No card requiredOpenAPI 3.1JSON + CSV
# Create an idempotent collection

curl -X POST /v1/tasks \
  -H "Authorization: Bearer fb_live_…" \
  -H "Idempotency-Key: launch-42" \
  -d '{
    "q": "running shoes",
    "country": "US",
    "count": 100
  }'

{ "task_id": "a95…", "status": "queued" }
Collection runtime ready
01One stable APISearch, schedules, results, and exports
02Async by designBounded work with explicit task states
03Normalized outputPredictable JSON plus CSV export
04Operational controlsKeys, quotas, roles, events, and audit
Interactive API preview

See the data contract in seconds.

Build a representative Ad Library search and inspect the task payload plus normalized response before writing integration code. This safe preview does not launch a live collection.

IdempotentQuota boundedAsync
Request
Example response
The collection problem

Stop fighting the same infrastructure problems.

Public ad research becomes expensive when every team must own browser automation, protocol changes, retries, payload cleanup, persistence, and tenant controls.

01 / SCRAPERS

Collectors break when Meta changes

UI and protocol updates can turn a working scraper into an urgent production incident without warning.

UPSTREAM SHAPE CHANGED
02 / ACTORS

Hosted actors stay costly and unstable

Outsourced collection may reduce setup time, but retries, variable results, and record-based costs still reach your product.

VARIABLE COST + FAILURE
03 / DIY

Collection becomes its own product

Proxy operations, validation, storage, observability, and maintenance consume engineering time meant for customer features.

ONGOING MAINTENANCE
04 / COVERAGE

Official access can be too narrow

Official interfaces and manual exports may not cover broad commercial research workflows or repeatable product integrations.

LIMITED WORKFLOW FIT
How the API responds

Simple request. Structured ad records.

Send search criteria once. Receive typed, predictable records without adding provider-specific parsing and cleanup to your application.

01 · Request parameters

POST /v1/tasks
Authorization: Bearer fb_live_…
Idempotency-Key: weekly-acme-us

{
  "q": "Acme",
  "country": "US",
  "count": 500,
  "active_status": "all"
}

02 · Normalized response

{
  "data": [{
    "provider_id": "238…",
    "provider_page_name": "Acme",
    "countries": ["US"],
    "bodies": ["Summer launch"],
    "delivery_start_time": "…",
    "data_sources": ["meta_ad_library"]
  }],
  "pagination": { "has_more": false }
}
The solution

Reliable infrastructure around every request.

Adscope moves the operational work out of your application so your team can focus on the product built with the data.

BOUNDED CONCURRENCY

High-volume collection

Tenant-isolated asynchronous tasks, explicit result limits, idempotency, cancellation, and backpressure keep work controlled as demand grows.

  • Quota-aware execution
  • Explicit progress and failure states
  • Safe client retries
{ }
JSON + CSV

Normalized schema

Provider-shaped payloads are validated and exposed through a consistent record contract that is easier to document and consume.

  • Typed documented fields
  • Predictable pagination
  • Pipeline-friendly exports
OBSERVATION HISTORY

Durable archive

Retain observed public ads and search the accumulated timeline instead of losing every result after a one-off export.

  • Historical snapshots
  • Repeatable research queries
  • Auditable observations
SIGNED EVENTS

Real-time webhooks

Push terminal task events to your systems with verifiable signatures and configurable endpoints.

  • Completion and failure events
  • Custom HTTPS endpoints
  • Scheduled monitoring support
Three-step integration

From account to first dataset.

Create a workspace and key

Start on the free plan, generate a revocable API key, and store the one-time secret in your server environment.

Submit bounded work

Send a keyword, country, filters, and result cap with an idempotency key for safe retries.

Consume or automate

Read normalized pages, export CSV, schedule recurring searches, or receive a signed webhook.

Use cases

Built for teams that need ad data, not scrapers.

Use the same API for product features, client delivery, or systematic research without operating a collector per workflow.

01 / SAAS BUILDERS

Ship features instead of collection code

Add competitor tracking, creative intelligence, and market context through a documented REST contract.

  • Drop-in API integration
  • Signed events into your pipeline
  • Tenant-aware quotas and keys
02 / AGENCIES

Turn recurring research into a workflow

Standardize public-ad monitoring across brands, markets, and client workspaces without manual browser exports.

  • Scheduled searches
  • CSV delivery and normalized JSON
  • Repeatable customer reporting
03 / RESEARCH TEAMS

Build consistent longitudinal datasets

Study messaging, creatives, delivery windows, and observed campaign changes from a stable record model.

  • Observation archive
  • Documented field semantics
  • Bounded reproducible queries
Transparent USDT pricing

Choose the capacity your workflow needs.

Plans, limits, visibility, and promotional discounts are loaded from the live catalog and can be changed from the platform admin without a deployment.

Loading plans…

Prices are monthly USDT amounts. Until the dedicated billing adapter is connected, upgrades are activated manually by a platform administrator.

Frequently asked questions

Everything to know before integrating.

What ad data can I retrieve?

Normalized observations can include advertiser and page identity, copy, creative links, media URLs when available, countries, languages, delivery dates, platforms, and other fields exposed by the active collector contract.

Is collection coverage exhaustive?

No. Coverage is observational and depends on public source availability, query scope, requested limits, and protocol compatibility. Task state and retained results remain explicit rather than implying completeness.

How is this different from Meta's official interfaces?

Adscope provides an independent operational layer for public-ad observations, including normalized records, asynchronous tasks, schedules, exports, and webhooks. It is not affiliated with or endorsed by Meta.

Why use this instead of a hosted scraping actor?

The product contract includes tenant isolation, idempotency, task states, quotas, archive storage, signed events, audit controls, and a documented application API—not only execution of a scraper.

What happens when an upstream protocol changes?

The runtime validates responses and surfaces incompatibility or failure states. A collector release may still be required, but malformed upstream output is not silently presented as valid data.

Can I automate ongoing monitoring?

Yes. Plans can enable recurring schedules, and signed webhooks notify your endpoint when a task completes or fails, subject to configured catalog limits.

Can I change plans and discounts without deploying?

Yes. A platform administrator can create and edit plans, limits, display order, visibility, and scheduled promotional discounts from the dashboard.

How will USDT payment work?

The catalog already stores USDT prices. Checkout, transaction verification, settlement, and automatic entitlement activation are intentionally deferred to your dedicated payment adapter.

Ready to build?

Build on public ad data, not collection maintenance.

Create a workspace, generate an API key, and start with the documented v1 contract.