{"repo":"athm793/meta-ads-scraper","free":true,"listed":false,"github":"https://github.com/athm793/meta-ads-scraper","clone":"git clone https://github.com/athm793/meta-ads-scraper.git","description":"Local self-hosted Meta Ad Library research tool: deep keyword/advertiser scraping, saved-ad swipe files, Hook Lab trend-stage intelligence, bulk company intelligence, and real-time outbound webhooks (bulk jobs + play/pause search sessions, unified schema).","language":"TypeScript","stars":34,"topics":["ad-library","competitive-research","facebook-ads","marketing","meta-ads","nextjs","playwright","scraper","swipe-file"],"license":"Apache-2.0","category":"scrapers-browser-automation","readme_excerpt":"Meta Ads Scraper A local, self-hosted tool for searching and analyzing the public Meta Ad Library — Facebook & Instagram ads — as a competitive-research and creative swipe-file workbench. Open source — Apache License 2.0. No API key. No access token. No account. It drives a real headless browser (Playwright) against the public Ad Library, reads the same data the website does, and stores everything in a local SQLite file on your machine. Nothing leaves your computer. --- Why this exists The Meta Ad Library is public but painful to research at scale: no bulk export, no tagging, no analytics, no way to compare competitors or track creative angles over time. This tool turns it into a proper research database you fully own. --- Features 🔎 Search - Keyword search (matches ad copy) and advertiser / page search. - Advertiser typeahead — start typing a brand and pick the matching Meta page from a live dropdown (logo, verified badge, Facebook + Instagram handles , follower counts, category), then scrape that exact page's ads instead of a fuzzy keyword match. - Deep search is always on — every search scrapes the advertiser's full library sorted by impressions and pulls the \"See ad details\" data for every ad. No toggle to forget. - Pre-scrape filters: country, language, category (incl. political/issue, housing, employment, credit), media type, platform, status (active/inactive), date range, and result cap. - Persistent filters — your filter and option choices are remembered between runs","default_branch":null,"files":null,"tree":[],"storefront":"/r/athm793","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/athm793/meta-ads-scraper/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}