# Facebook Ad Library Ad Details

Get the ad details panel of one ad, as the public library shows it under "See ad details". For ads delivered in the EU this is the transparency disclosure required by the Digital Services Act: total EU reach, reach by country, age range and gender, and the targeting (locations included or excluded, gender and age range). Ads delivered in the UK carry the same block for the UK. The reach figures are exact counts, not buckets. reach_by_country[].reach is the sum of the age and gender rows of that country; one person can be reached in several countries, so these sums can add up to more than total_reach. For ads about social issues, elections or politics the response also holds the audience shares by age, gender and region. Take ad_archive_id and page_id from an ad in the search results. A block that does not apply to the ad is null. An unknown ad id returns 404 and is not billed. A single request covers one upstream lookup and costs one credit.

- **Documentation:** [https://scrappa.co/docs/facebook-ad-library-api/meta_ad_library_ad_details](https://scrappa.co/docs/facebook-ad-library-api/meta_ad_library_ad_details)
- **API group:** Facebook Ad Library API
- **Endpoint:** `GET https://scrappa.co/api/facebook-ad-library/ad-details`

## Authentication

Send your Scrappa API key in the `X-API-KEY` request header. Paid endpoints also support accountless x402 payments when called without an API key.

## Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `ad_archive_id` | string | Yes | Library ID of the ad, as returned in ads[].ad_archive_id by the search endpoint. |
| `page_id` | string | Yes | Numeric id of the advertiser page, as returned in ads[].page_id for the same ad. |
| `country` | string | No | Optional two-letter ISO country code or ALL. Defaults to ALL. The reach figures do not depend on it. |

## Example request

```bash
#!/bin/bash

curl -X GET \
    -H "x-api-key: YOUR_API_KEY_HERE" \
    "https://scrappa.co/api/facebook-ad-library/ad-details?ad_archive_id=2023741235184903&page_id=292298163958756"
```

## Example response

```json
{
    "ad_archive_id": "2023741235184903",
    "page_id": "292298163958756",
    "advertiser": {
        "page_id": "292298163958756",
        "page_name": "Qomfort Co.",
        "page_profile_uri": "https://www.facebook.com/qomfortco/",
        "page_category": "Clothing shop",
        "page_like_count": 115161,
        "page_verification": "NOT_VERIFIED",
        "page_profile_picture_url": "https://example.com/profile.jpg",
        "instagram_username": "qomfortco",
        "instagram_followers": 129819,
        "about": "Chic, sophisticated, and uniquely qomfort."
    },
    "payer_beneficiary": [
        {
            "payer": "Four Leaf Co.",
            "beneficiary": "Four Leaf Co."
        }
    ],
    "is_ad_taken_down": false,
    "eu_transparency": {
        "total_reach": 1996010,
        "reach_by_country": [
            {
                "country": "DE",
                "reach": 512340,
                "by_age_and_gender": [
                    {
                        "age_range": "18-24",
                        "male": 20110,
                        "female": 61234,
                        "unknown": 1203
                    },
                    {
                        "age_range": "25-34",
                        "male": 41022,
                        "female": 140876,
                        "unknown": 2311
                    }
                ]
            }
        ],
        "targeting": {
            "locations": [
                {
                    "name": "Germany",
                    "type": "countries",
                    "excluded": false
                },
                {
                    "name": "Italy",
                    "type": "countries",
                    "excluded": false
                }
            ],
            "gender": "All",
            "age_min": 18,
            "age_max": 65
        }
    },
    "uk_transparency": null,
    "political_insights": null,
    "response_time_ms": 1500
}
```

## Errors

| Status | Error | Description |
| --- | --- | --- |
| 503 | Ad library temporarily unavailable | The public ad library could not be reached. The request is not billed. |
| 422 | Unsupported filter value | One of the filter values is outside the published set or was rejected by the ad library. No credits are charged. Change the request instead of retrying it. |
| 404 | Ad not found | No ad with this ad_archive_id exists in the public library. The request is not billed. |

## More Scrappa resources

- [API documentation](https://scrappa.co/docs)
- [Full LLM-readable API reference](https://scrappa.co/llms-full.txt)
- [OpenAPI specification](https://scrappa.co/docs/api.json)
- [Pricing](https://scrappa.co/pricing)
