LinkedIn Ad Library Search
LinkedIn Ad Library Search discovers retained public ad disclosures from a company name, exact company ID, keyword, or a combination of those inputs. Returned records normalize the available advertiser identity, creative text, source URL, delivery window, countries, impressions, format, destination, and media without treating absent disclosure fields as zero.
Features
- Three discovery inputsSearch with a company name, keyword, exact LinkedIn company ID, or several of those fields in one request; at least one is required.
- Country and date filtersNarrow the public index with two-letter country codes and an optional inclusive run-date range in YYYY-MM-DD format.
- Normalized public ad recordsReturn stable ad identity, advertiser reference, creative text, detail URL, dates, markets, format, destination, impressions, and media when disclosed.
- Bounded token paginationCollect 24 through 1,992 records in multiples of 24 while SocQ follows new upstream pagination tokens until the limit or final usable page.
- Search-to-detail workflowPass a returned /ad-library/detail/ URL to LinkedIn Ad Library Ad when one discovered record needs the available detail view.
Parameters
| Parameters | Required | Description |
|---|---|---|
company | Required (at least one) | Company or advertiser name. At least one of company, keyword, or company_id is required. |
keyword | Required (at least one) | Text to match in the public ad search. Matching semantics come from the public source. |
company_id | Required (at least one) | Exact LinkedIn company ID used as a search input. |
countries | Optional | Optional list of two-letter alphabetic country codes, preferably uppercase, such as US and CA. |
start_date | Optional | Optional beginning of the public run-date filter in YYYY-MM-DD format. |
end_date | Optional | Optional end of the public run-date filter in YYYY-MM-DD format; it cannot precede start_date. |
results_limit | Optional | Maximum records requested. Defaults to 24 and accepts multiples of 24 from 24 through 1,992. |
How to Use
Choose at least one discovery field, add only the filters that define your sample, and read the completed asynchronous task pages.
- Provide company, keyword, or company_id; combine them only when that narrower source-defined match is intended.
- Optionally add two-letter countries, a valid date range, and a results_limit that is a multiple of 24.
- POST the request to /v1/linkedin-ad-library/search and save the returned task_id.
- Poll /v1/tasks/{task_id}, then read data.results.items and follow next_cursor while has_more is true.
curl -X POST "https://api.socq.ai/v1/linkedin-ad-library/search" \
-H "Authorization: Bearer $SOCQ_API_KEY" \
-H "Content-Type: application/json" \
-d '{"company":"Microsoft","countries":["US"],"results_limit":24}'
# Poll GET /v1/tasks/{task_id}
# Read data.results.items and follow next_cursor while has_more is trueBest Use Cases
- Advertiser ad discovery: Use a company name or exact company ID to assemble observable public ads associated with an advertiser at collection time.
- Message and theme research: Search keywords for products, competitors, or themes and compare the returned creative text, formats, media, and destinations.
- Market and window comparison: Repeat the same query with controlled country and date filters to compare public disclosures across defined samples.
- Detail candidate selection: Use returned ad IDs and detail URLs to select individual records for closer inspection with the separate detail operation.
Pro Tips
- Start with one discovery field, then combine company, keyword, and company_id only when a narrower source-defined result set is useful.
- Use uppercase country codes for consistent stored inputs even though the current validator accepts either letter case.
- Choose results_limit in 24-record increments and treat it as a collection ceiling, not a promise that every slot has a match.
- Preserve the query, filters, and collected_at time when comparing runs because public availability and retained records change.
- Treat missing advertiser, dates, country, impression, destination, format, or media values as unavailable disclosure data rather than zero.
Related APIs
Use these APIs when you need a different type of public LinkedIn Ad Library data.
- LinkedIn Ad Library Ad API — Retrieve one known public LinkedIn Ad Library record by exact detail URL with normalized advertiser, creative, delivery, destination, impression, and media fields.