NodeJS Google Ads Scraper App
Budget: $10 – $30 USD
I need a NodeJS application that scrapes Google Ads (sponsored results) from Google Search results. The app should extract the actual Google ad click URLs (google.com/aclk links), NOT the final destination URLs.
### Core Features
**1. Keyword Search & Ad Scraping**
- Accept multiple keywords (one per line)
- Search each keyword on Google
- Extract ALL sponsored ads from the search results page
- Return the full `google.com/aclk?...` tracking links (not the destination URL)
- Support different Google domains (google.com, google.com.tr, google.de, etc.)
**2. Web Interface**
- Simple HTML/JS frontend (no frameworks needed)
- Input fields for:
- Keywords (textarea, one per line)
- Country/domain selection
- Proxy list (optional)
- CAPTCHA API key (optional, can also be set in config)
- Real-time progress logs
- Results table showing: Keyword, Ad Domain, Full Ad Link
- Export to CSV
- "Copy All Links" button
**3. Proxy Support (Optional)**
- Format: `ip:port:username:password`
- Rotate proxies between requests
- Skip failed proxies automatically
**4. CAPTCHA Solving Integration**
When Google shows a CAPTCHA (/sorry page), solve it using one of these services:
- **cap.guru** - API: `https://api.cap.guru/in.php` and `https://api.cap.guru/res.php`
- **2captcha** - API: `https://2captcha.com/in.php` and `https://2captcha.com/res.php`
- **captcha.fun** - API: `https://api.captcha.fun/v1/request` (Note: only supports reCAPTCHA v3, may not work for Google sorry page which uses v2)
Important CAPTCHA notes:
- Google sorry page uses reCAPTCHA v2
- After getting token, must disable reCAPTCHA widget before injecting (remove iframes/scripts)
- Wait for CAPTCHA service response (can take 30-60 seconds)
### Technical Requirements
- NodeJS with Express
- Playwright for browser automation
- NO TypeScript - pure JavaScript with `const` declarations
- SSE (Server-Sent Events) for real-time progress updates
- Headless mode configurable (for debugging)
### Expected Output Format
Keyword: "cloaker"
Ads Found:
1. Domain: example.com
Link: https://www.google.com/aclk?sa=L&ai=DChc...&adurl=https://example.com/...
2. Domain: another.com
Link: https://www.google.com/aclk?sa=L&ai=DChc...&adurl=https://another.com/...
### Core Features
**1. Keyword Search & Ad Scraping**
- Accept multiple keywords (one per line)
- Search each keyword on Google
- Extract ALL sponsored ads from the search results page
- Return the full `google.com/aclk?...` tracking links (not the destination URL)
- Support different Google domains (google.com, google.com.tr, google.de, etc.)
**2. Web Interface**
- Simple HTML/JS frontend (no frameworks needed)
- Input fields for:
- Keywords (textarea, one per line)
- Country/domain selection
- Proxy list (optional)
- CAPTCHA API key (optional, can also be set in config)
- Real-time progress logs
- Results table showing: Keyword, Ad Domain, Full Ad Link
- Export to CSV
- "Copy All Links" button
**3. Proxy Support (Optional)**
- Format: `ip:port:username:password`
- Rotate proxies between requests
- Skip failed proxies automatically
**4. CAPTCHA Solving Integration**
When Google shows a CAPTCHA (/sorry page), solve it using one of these services:
- **cap.guru** - API: `https://api.cap.guru/in.php` and `https://api.cap.guru/res.php`
- **2captcha** - API: `https://2captcha.com/in.php` and `https://2captcha.com/res.php`
- **captcha.fun** - API: `https://api.captcha.fun/v1/request` (Note: only supports reCAPTCHA v3, may not work for Google sorry page which uses v2)
Important CAPTCHA notes:
- Google sorry page uses reCAPTCHA v2
- After getting token, must disable reCAPTCHA widget before injecting (remove iframes/scripts)
- Wait for CAPTCHA service response (can take 30-60 seconds)
### Technical Requirements
- NodeJS with Express
- Playwright for browser automation
- NO TypeScript - pure JavaScript with `const` declarations
- SSE (Server-Sent Events) for real-time progress updates
- Headless mode configurable (for debugging)
### Expected Output Format
Keyword: "cloaker"
Ads Found:
1. Domain: example.com
Link: https://www.google.com/aclk?sa=L&ai=DChc...&adurl=https://example.com/...
2. Domain: another.com
Link: https://www.google.com/aclk?sa=L&ai=DChc...&adurl=https://another.com/...