# List Meta ads by page ID

Lists ads from the public Meta Ad Library for one advertiser, identified by required `page_id`. Filter by country, status, media type, dates, language, and platform. Use `cursor` to page; `page_size` is 1-50.

- Platform: Meta Ads
- Request: `GET https://api.toolzerhub.com/v1/meta/page`
- Auth: `x-api-key` header
- Cost: 1 credit per successful request. Failed requests are not billed.
- Page: https://docs.toolzerhub.com/reference/meta-ads/get-page-ads

| Parameter | In | Required | Type | Description |
| --- | --- | --- | --- | --- |
| `page_id` | query | yes | string | Numeric advertiser Page ID, from a Search Pages result or Resolve Page ID. |
| `country` | query | no | string | ISO 3166-1 alpha-2 country code. Examples: IN, US, GB, DE. |
| `active_status` | query | no | enum: all, active, inactive | Ad delivery status. all = active and inactive ads, active = currently running ads, inactive = stopped ads. |
| `media_type` | query | no | enum: all, image, video, meme | Creative format filter. all = every format, image = static images, video = videos, meme = image/text meme-style creatives. |
| `sort_mode` | query | no | enum: total_impressions | Sort by total impressions. |
| `sort_direction` | query | no | enum: desc | Sort direction. Use with sort_mode. |
| `date_min` | query | no | string | Start Date in YYYY-MM-DD format. |
| `date_max` | query | no | string | End Date in YYYY-MM-DD format. |
| `cursor` | query | no | string | Pass pageInfo.cursor from the previous response to get the next page. Omit for the first page. |
| `page_size` | query | no | integer | Number of ads to return per request. Accepted range: 1-50. |
| `content_languages` | query | no | string | Comma-separated ISO 639-1 language codes, for example en,hi. |
| `publisher_platforms` | query | no | string | Comma-separated platforms. Accepted values: FACEBOOK, INSTAGRAM, AUDIENCE_NETWORK, MESSENGER. |
| `raw` | query | no | boolean | Set to true to return the unprocessed Ad Library payload instead of the normalized response. |

## Example request

```bash
curl "https://api.toolzerhub.com/v1/meta/page?page_id=<page_id>" \
  -H "x-api-key: $TOOLZERHUB_API_KEY"
```

Success responses are wrapped as `{ "data": ... }`. Errors return `{ "error": { "code", "status", "message", "retryable", "details" } }`. See https://docs.toolzerhub.com/docs/responses-and-errors.
