Search Ads
curl --request GET \
--url https://api.sociavault.com/v1/scrape/linkedin-ad-library/search \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sociavault.com/v1/scrape/linkedin-ad-library/search"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.sociavault.com/v1/scrape/linkedin-ad-library/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sociavault.com/v1/scrape/linkedin-ad-library/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sociavault.com/v1/scrape/linkedin-ad-library/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sociavault.com/v1/scrape/linkedin-ad-library/search")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sociavault.com/v1/scrape/linkedin-ad-library/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"success": true,
"ads": {
"0": {
"id": "1140187154",
"description": "Most foreclosure attorneys pay $50-100 per lead from aggregators.\n\nThose leads are shared with 5-10 other firms. Conversion rate: 2-3% if you're lucky.\n\nHere's what exclusive, pre-qualified leads look like:\n\n→ 100 leads/month: $5,000 → 10% conversion rate: 10 new clients → $6,000 average case value: $60,000 revenue → ROI: 1,100%\n\nThese aren't scraped from lis pendens lists. They're homeowners who've actively requested help through our intake system — before they've talked to anyone else.\n\nYou get: name, phone, email, mortgage details, and a pre-qualification score so you know who to prioritize.\n\nOne South Florida firm generated $120K in case revenue using this system.\n\nWe're selective about who we work with. Take the 2-minute assessment to see if \nyour firm qualifies.",
"headline": null,
"poster": "Foreclosure prevention today",
"posterTitle": "Promoted",
"promotedBy": null,
"targeting": {},
"image": "https://media.licdn.com/dms/image/v2/D4D10AQEOyJApJjptKw/image-shrink_1280/B4DZwBRNN_H0Ac-/0/1769547814081/Linkedin_Ad_2jpg?e=2147483647&v=beta&t=irh7O7L69m_3rxsxiPhBKlsPG986fCJJ0sfn4N3mF64",
"video": null,
"carouselImages": {},
"url": "https://www.linkedin.com/ad-library/detail/1140187154",
"adType": "Single Image Ad",
"advertiser": "Foreclosure prevention today",
"advertiserLinkedinPage": "https://www.linkedin.com/company/111293908",
"cta": null,
"destinationUrl": null,
"adDuration": "",
"startDate": null,
"endDate": null,
"totalImpressions": null,
"impressionsByCountry": {}
},
"1": {
"id": "1139557184",
"description": "Access the web's data. Clean, ready, and at scale. Book a meeting with one of our data experts and we'll identify the best solution for your needs.",
"headline": "Book a quick 30-minute Discovery Call",
"poster": "Zyte",
"posterTitle": "Promoted",
"promotedBy": null,
"targeting": {},
"image": "https://media.licdn.com/dms/image/v2/D4E10AQEYo5mdQZyhEQ/image-shrink_1280/B4EZnJNdpBJgAM-/0/1760017375838/webscrapingapi2_v4png?e=2147483647&v=beta&t=Refjn2tB-b3_mTMcMXVBj7lNkc5QSMEkt790J-DYTP0",
"video": null,
"carouselImages": {},
"url": "https://www.linkedin.com/ad-library/detail/1139557184",
"adType": "Single Image Ad",
"advertiser": "Zyte",
"advertiserLinkedinPage": "https://www.linkedin.com/company/2450827",
"cta": "Learn more",
"destinationUrl": "https://www.zyte.com/?utm_source=linkedin&utm_medium=paid&utm_campaign=SAAS_Retargeting_Lead_Gen&hsa_acc=507803102&hsa_cam=757256484&hsa_grp=478152434&hsa_ad=1139557184&hsa_net=linkedin&hsa_ver=3&trk=ad_library_ad_preview_headline_content",
"adDuration": "",
"startDate": null,
"endDate": null,
"totalImpressions": null,
"impressionsByCountry": {}
},
"2": {
"id": "1174793313",
"description": "Scraping at scale requires trust. IPRoyal proxies are built for reliable performance.",
"headline": "IPRoyal - Reliable Proxies for Success",
"poster": "IPRoyal",
"posterTitle": "Promoted",
"promotedBy": null,
"targeting": {
"language": "Targeting includes English",
"location": "Targeting includes United States, Australia and\n \n 2 others\n \n New Zealand, Europe\n \n Targeting excludes India, Egypt"
},
"image": "https://media.licdn.com/dms/image/v2/D4D10AQHMqLVjbh0VwQ/image-shrink_1280/B4DZqmsGvMKIAM-/0/1763733173685/01_DataScrapingBusinessIntelligence_1200x1200jpg?e=2147483647&v=beta&t=L2YlJTBCcA2HFvnTrMb13rhrwypTRiW848Xu4FzwOSk",
"video": null,
"carouselImages": {},
"url": "https://www.linkedin.com/ad-library/detail/1174793313",
"adType": "Single Image Ad",
"advertiser": "IPRoyal",
"advertiserLinkedinPage": "https://www.linkedin.com/company/71890168",
"cta": "Request Demo",
"destinationUrl": "https://iproyal.com/?utm_source=linkedin&utm_medium=cpc&utm_campaign=enterprise&utm_content=data_scraping_2&trk=ad_library_ad_preview_headline_content",
"adDuration": "Ran from Feb 6, 2026 to Feb 8, 2026",
"startDate": "2026-02-06T00:00:00.000Z",
"endDate": "2026-02-08T00:00:00.000Z",
"totalImpressions": "5k-10k",
"impressionsByCountry": {}
}
},
"paginationToken": "1140187154-1770319878944",
"isLastPage": false
},
"credits_used": 1
}{
"error": "Missing required parameter: handle",
"endpoint": "<string>",
"credits_required": 123
}{
"error": "Invalid API key",
"docs": "https://docs.sociavault.com/authentication"
}{
"error": "Insufficient credits",
"required": 1,
"available": 0
}{
"error": "Service configuration error"
}LinkedIn Ad Library
Search Ads
Search the LinkedIn Ad Library
GET
/
v1
/
scrape
/
linkedin-ad-library
/
search
Search Ads
curl --request GET \
--url https://api.sociavault.com/v1/scrape/linkedin-ad-library/search \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.sociavault.com/v1/scrape/linkedin-ad-library/search"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.sociavault.com/v1/scrape/linkedin-ad-library/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sociavault.com/v1/scrape/linkedin-ad-library/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sociavault.com/v1/scrape/linkedin-ad-library/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sociavault.com/v1/scrape/linkedin-ad-library/search")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sociavault.com/v1/scrape/linkedin-ad-library/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"success": true,
"ads": {
"0": {
"id": "1140187154",
"description": "Most foreclosure attorneys pay $50-100 per lead from aggregators.\n\nThose leads are shared with 5-10 other firms. Conversion rate: 2-3% if you're lucky.\n\nHere's what exclusive, pre-qualified leads look like:\n\n→ 100 leads/month: $5,000 → 10% conversion rate: 10 new clients → $6,000 average case value: $60,000 revenue → ROI: 1,100%\n\nThese aren't scraped from lis pendens lists. They're homeowners who've actively requested help through our intake system — before they've talked to anyone else.\n\nYou get: name, phone, email, mortgage details, and a pre-qualification score so you know who to prioritize.\n\nOne South Florida firm generated $120K in case revenue using this system.\n\nWe're selective about who we work with. Take the 2-minute assessment to see if \nyour firm qualifies.",
"headline": null,
"poster": "Foreclosure prevention today",
"posterTitle": "Promoted",
"promotedBy": null,
"targeting": {},
"image": "https://media.licdn.com/dms/image/v2/D4D10AQEOyJApJjptKw/image-shrink_1280/B4DZwBRNN_H0Ac-/0/1769547814081/Linkedin_Ad_2jpg?e=2147483647&v=beta&t=irh7O7L69m_3rxsxiPhBKlsPG986fCJJ0sfn4N3mF64",
"video": null,
"carouselImages": {},
"url": "https://www.linkedin.com/ad-library/detail/1140187154",
"adType": "Single Image Ad",
"advertiser": "Foreclosure prevention today",
"advertiserLinkedinPage": "https://www.linkedin.com/company/111293908",
"cta": null,
"destinationUrl": null,
"adDuration": "",
"startDate": null,
"endDate": null,
"totalImpressions": null,
"impressionsByCountry": {}
},
"1": {
"id": "1139557184",
"description": "Access the web's data. Clean, ready, and at scale. Book a meeting with one of our data experts and we'll identify the best solution for your needs.",
"headline": "Book a quick 30-minute Discovery Call",
"poster": "Zyte",
"posterTitle": "Promoted",
"promotedBy": null,
"targeting": {},
"image": "https://media.licdn.com/dms/image/v2/D4E10AQEYo5mdQZyhEQ/image-shrink_1280/B4EZnJNdpBJgAM-/0/1760017375838/webscrapingapi2_v4png?e=2147483647&v=beta&t=Refjn2tB-b3_mTMcMXVBj7lNkc5QSMEkt790J-DYTP0",
"video": null,
"carouselImages": {},
"url": "https://www.linkedin.com/ad-library/detail/1139557184",
"adType": "Single Image Ad",
"advertiser": "Zyte",
"advertiserLinkedinPage": "https://www.linkedin.com/company/2450827",
"cta": "Learn more",
"destinationUrl": "https://www.zyte.com/?utm_source=linkedin&utm_medium=paid&utm_campaign=SAAS_Retargeting_Lead_Gen&hsa_acc=507803102&hsa_cam=757256484&hsa_grp=478152434&hsa_ad=1139557184&hsa_net=linkedin&hsa_ver=3&trk=ad_library_ad_preview_headline_content",
"adDuration": "",
"startDate": null,
"endDate": null,
"totalImpressions": null,
"impressionsByCountry": {}
},
"2": {
"id": "1174793313",
"description": "Scraping at scale requires trust. IPRoyal proxies are built for reliable performance.",
"headline": "IPRoyal - Reliable Proxies for Success",
"poster": "IPRoyal",
"posterTitle": "Promoted",
"promotedBy": null,
"targeting": {
"language": "Targeting includes English",
"location": "Targeting includes United States, Australia and\n \n 2 others\n \n New Zealand, Europe\n \n Targeting excludes India, Egypt"
},
"image": "https://media.licdn.com/dms/image/v2/D4D10AQHMqLVjbh0VwQ/image-shrink_1280/B4DZqmsGvMKIAM-/0/1763733173685/01_DataScrapingBusinessIntelligence_1200x1200jpg?e=2147483647&v=beta&t=L2YlJTBCcA2HFvnTrMb13rhrwypTRiW848Xu4FzwOSk",
"video": null,
"carouselImages": {},
"url": "https://www.linkedin.com/ad-library/detail/1174793313",
"adType": "Single Image Ad",
"advertiser": "IPRoyal",
"advertiserLinkedinPage": "https://www.linkedin.com/company/71890168",
"cta": "Request Demo",
"destinationUrl": "https://iproyal.com/?utm_source=linkedin&utm_medium=cpc&utm_campaign=enterprise&utm_content=data_scraping_2&trk=ad_library_ad_preview_headline_content",
"adDuration": "Ran from Feb 6, 2026 to Feb 8, 2026",
"startDate": "2026-02-06T00:00:00.000Z",
"endDate": "2026-02-08T00:00:00.000Z",
"totalImpressions": "5k-10k",
"impressionsByCountry": {}
}
},
"paginationToken": "1140187154-1770319878944",
"isLastPage": false
},
"credits_used": 1
}{
"error": "Missing required parameter: handle",
"endpoint": "<string>",
"credits_required": 123
}{
"error": "Invalid API key",
"docs": "https://docs.sociavault.com/authentication"
}{
"error": "Insufficient credits",
"required": 1,
"available": 0
}{
"error": "Service configuration error"
}💳 1 credit per request
Authorizations
Query Parameters
The company name to search for. 'Microsoft' for example
Example:
"microsoft"
The keyword to search for
Example:
"scraping"
Comma separated list of countries. Example: US,CA,MX
Example:
"US,CA,MX"
Start date to search for. Format: YYYY-MM-DD
Example:
"2024-01-01"
End date to search for. Format: YYYY-MM-DD
Example:
"2024-01-10"
Pagination token to paginate through results
Example:
"640547184-1743616612000"
Response
Successful response
Key Response Fields:
ads[0].id: Unique ad identifierads[0].description: Full ad body text/copyads[0].headline: Ad headline (may benull)ads[0].poster: Name of the company running the adads[0].adType: Format of the ad (e.g.Single Image Ad,Video Ad,Carousel Ad)ads[0].advertiser: Advertiser display nameads[0].advertiserLinkedinPage: URL to the advertiser's LinkedIn company pageads[0].image: URL of the ad's image asset (may benull)ads[0].cta: Call-to-action button text (e.g.Learn more,Request Demo)ads[0].destinationUrl: Landing page URLads[0].targeting.language: Audience language targeting descriptionads[0].targeting.location: Audience location targeting descriptionads[0].startDate/endDate: ISO 8601 timestamps for ad run periodads[0].totalImpressions: Impression range string (e.g.5k-10k) ornullads[0].url: Direct link to this ad in the LinkedIn Ad LibrarypaginationToken: Token to pass aspaginationTokenfor the next pageisLastPage: Boolean indicating whether this is the final page of results
⌘I