Scrape the Meta ad library by Page or search URL
apify.meta-ads.library.searchScrape publicly running Facebook and Instagram ads for a page or Ad Library search
- Price
- $0.005/result제공업체 원가
- Success rate
- —성공률 데이터가 아직 없습니다성공률 데이터가 아직 없습니다
- Latency p50
- ——
- Last verified
- 2026. 9. 26.Verified working
POSThttps://toolswitch.dev/v1/tools/apify.meta-ads.library.search?timeout=90&maxItems=1&maxTotalChargeUsd=0.05Preview- Uses platform quota
- Synchronous response
- Reads public data
파라미터
the response is the dataset items array directly — no run envelope, no polling. Result count is what you pay for, so onlyTotal:true is the cheap probe before a full pull. Unofficial: this reads the Ad Library web UI, so field availability tracks whatever Meta currently renders
| 파라미터 | 유형 | 필수 | 설명 | 예시 |
|---|---|---|---|---|
| 쿼리 파라미터 | ||||
timeout | 정수 | 선택 | treg's key requires 1-90 so the run and its rows arrive before any wait gives up (a larger pull needs your own key). seconds before the synchronous run is cut off. This route blocks until the actor finishes and Apify closes the connection at 300s regardless — use the async pair below for anything large | 90 |
maxItems | 정수 | 선택 | optional row cap; pay-per-event actors that take the row count from their own input ignore it, so maxTotalChargeUsd is the spend limit | 50 |
maxTotalChargeUsd | 숫자 | 선택 | the spend cap Apify enforces on every event this run bills, in dollars. treg's key requires it, above 0 and at most 1, and holds it for the call | 0.5 |
- 쿼리 파라미터
timeout정수선택treg's key requires 1-90 so the run and its rows arrive before any wait gives up (a larger pull needs your own key). seconds before the synchronous run is cut off. This route blocks until the actor finishes and Apify closes the connection at 300s regardless — use the async pair below for anything large
예시:
90maxItems정수선택optional row cap; pay-per-event actors that take the row count from their own input ignore it, so maxTotalChargeUsd is the spend limit
예시:
50maxTotalChargeUsd숫자선택the spend cap Apify enforces on every event this run bills, in dollars. treg's key requires it, above 0 and at most 1, and holds it for the call
예시:
0.5
코드 예제
$TOOLSWITCH_KEY를 콘솔에서 생성한 키로 바꾸세요.
curl -X POST 'https://toolswitch.dev/v1/tools/apify.meta-ads.library.search?timeout=90&maxItems=1&maxTotalChargeUsd=0.05' \
-H "X-Toolswitch-Key: $TOOLSWITCH_KEY" \
-H "Content-Type: application/json" \
--data-raw '{"onlyTotal":true,"startUrls":[{"url":"https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=project%20management"}],"activeStatus":"active","resultsLimit":1,"isDetailsPerAd":false,"enrichWithEcommerceData":false}'import os
import json
import requests
response = requests.request(
"POST",
"https://toolswitch.dev/v1/tools/apify.meta-ads.library.search?timeout=90&maxItems=1&maxTotalChargeUsd=0.05",
headers={"X-Toolswitch-Key": os.environ["TOOLSWITCH_KEY"]},
json=json.loads("{\"onlyTotal\":true,\"startUrls\":[{\"url\":\"https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=project%20management\"}],\"activeStatus\":\"active\",\"resultsLimit\":1,\"isDetailsPerAd\":false,\"enrichWithEcommerceData\":false}"),
)
response.raise_for_status()
print(response.text)const response = await fetch("https://toolswitch.dev/v1/tools/apify.meta-ads.library.search?timeout=90&maxItems=1&maxTotalChargeUsd=0.05", {
method: "POST",
headers: {
"X-Toolswitch-Key": process.env.TOOLSWITCH_KEY ?? "",
"Content-Type": "application/json",
},
body: JSON.stringify(JSON.parse("{\"onlyTotal\":true,\"startUrls\":[{\"url\":\"https://www.facebook.com/ads/library/?active_status=active&ad_type=all&country=US&q=project%20management\"}],\"activeStatus\":\"active\",\"resultsLimit\":1,\"isDetailsPerAd\":false,\"enrichWithEcommerceData\":false}")),
});
if (!response.ok) throw new Error(`Request failed: ${response.status}`);
console.log(await response.text());게이트웨이 API는 미리보기 버전이며 URL과 인증 방식이 변경될 수 있습니다. 예제 매개변수는 샘플 데이터입니다. 호출 요금은 $0.005/result이며 서비스 수수료가 포함되어 있습니다.