# LinkedIn Ad Library Ad ## Overview | Property | Value | |----------|-------| | **Status** | active | | **Method** | `GET` | | **Endpoint** | `/v2/linkedinadlibrary/ad` | | **Base URL** | `https://api.piloterr.com` | | **Credit Cost** | 2 credits per call | | **Documentation** | https://www.piloterr.com/library/linkedinadlibrary-ad | ## Description Get one LinkedIn Ad Library creative by URL or id: copy, CTA, payer, impressions, and targeting (2 credits). ## Authentication - **Key Name:** `x-api-key` - **Location:** HTTP Header - **Get an API key:** https://app.piloterr.com/register ## Example Request ```bash curl --location --request GET 'https://api.piloterr.com/v2/linkedinadlibrary/ad' \ --header 'Content-Type: application/json' \ --header 'x-api-key: YOUR_API_KEY' ``` ## Example Response ### Airbus hiring creative ```json { "url": "https://www.linkedin.com/ad-library/detail/1585536544", "ad_id": "1585536544", "format": "image", "status": "active", "paid_by": "Focused Image", "carousel": null, "cta_text": "Apply", "end_date": null, "headline": "Airbus is Hiring", "image_url": "https://media.licdn.com/dms/image/v2/D4E10AQFZ54-UGWaraQ/image_627_1200/B56Z6EWmiMG0AU-/0/1780336978225/Airbus2026Q2Kinston1200x627jpg", "targeting": null, "video_url": null, "start_date": null, "target_url": null, "description": "Airbus is hiring in Kinston, NC where we are building advanced composite structures for the A350.", "impressions": null, "format_label": "Single Image Ad", "advertiser_url": "https://www.linkedin.com/company/2734", "follower_count": null, "advertiser_name": "Airbus", "advertiser_image_url": "https://media.licdn.com/dms/image/v2/C4D0BAQF2j_LDG_TOzg/company-logo_100_100/company-logo_100_100/0/1631375371456/airbusgroup_logo" } ``` ## Documentation ## Overview Read one creative from the LinkedIn Ad Library. Pass the detail URL returned by search (`/ad-library/detail/...`) or the bare numeric ad id. **2 credits** per call. The response includes the advertiser, format, copy, CTA, payer, impressions when shown, and targeting when LinkedIn exposes it. ## Quickstart ``` GET https://api.piloterr.com/v2/linkedinadlibrary/ad?query=https://www.linkedin.com/ad-library/detail/1585536544 GET https://api.piloterr.com/v2/linkedinadlibrary/ad?query=1585536544 ``` ## Parameters | Parameter | Type | Required | Description | |---|---|---|---| | `query` | string | yes | Detail URL or numeric ad id | ## Response fields | Field | Type | Description | |---|---|---| | `ad_id` | string | Numeric LinkedIn ad id | | `url` | string | Detail URL | | `status` | string | `active` or `inactive` | | `format` | string | `image`, `video`, `carousel`, `event`, `document`, or `text` | | `format_label` | string \| null | LinkedIn label (`Single Image Ad`, …) | | `advertiser_name` / `advertiser_url` / `advertiser_image_url` | string \| null | Advertiser | | `paid_by` | string \| null | Payer shown in About the ad | | `headline` / `description` / `image_url` / `video_url` | string \| null | Creative | | `cta_text` / `target_url` | string \| null | Call to action | | `start_date` / `end_date` / `impressions` | string \| null | When LinkedIn exposes them | | `carousel` / `targeting` | array \| null | Extra creative / targeting blocks | ## Notes - A search URL passed here returns `400`. - Some ads omit impressions, dates, or targeting. ## Error codes | Code | Meaning | |---|---| | `400` | Missing query, or not an ad detail | | `403` | LinkedIn auth wall | | `404` | Ad not found | | `500` | The Ad Library request failed | ## Related endpoints - [LinkedIn Ad Library Search](https://www.piloterr.com/library/linkedinadlibrary-search) ## Main use cases - Open a search card and read the full creative - Track payer, CTA, and targeting for competitor ads