Agency Sniper Find Marketing Agency Clients Reverse Prospecting
Pricing
Pay per event
Agency Sniper Find Marketing Agency Clients Reverse Prospecting
The #1 reverse prospecting tool for discovering who marketing agencies work with. Find businesses that already invest in marketing by automatically analyzing agency portfolios, case studies, client pages & Google SERP. Built for sales, marketing agencies & competitive intelligence professionals.
Pricing
Pay per event
Rating
0.0
(0)
Developer

The Howlers
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Agency Sniper - Discover Marketing Agency Clients | Reverse Prospecting Tool
The #1 reverse prospecting tool for discovering who marketing agencies work with. Find businesses that already invest in marketing by automatically analyzing agency portfolios, case studies, client pages, and Google search results. Built for sales teams, marketing agencies, and competitive intelligence professionals.
Stop cold prospecting. Start smart prospecting. If a company already hired a marketing agency, they're a proven buyer. Agency Sniper finds these pre-qualified leads for you.
Table of Contents
- Why Agency Sniper?
- Who Is This For?
- Use Cases
- How It Works
- Quick Start Guide
- Input Parameters
- Output Format
- Code Examples
- Integration with God Mode Intel
- Pricing
- Best Practices
- FAQ
- Troubleshooting
- API Keys Setup
- Support
๐ฏ Why Agency Sniper?
The Problem with Traditional Prospecting
Traditional B2B prospecting is broken:
- Cold lists are garbage - 90% of "leads" have no budget or intent
- Intent data is expensive - Bombora, G2, and ZoomInfo charge $20K+/year
- SDRs waste time - Calling companies that will never buy
The Agency Sniper Solution
Reverse prospecting flips the script:
- Proven Buyers: If a company hired Agency X, they have budget for marketing services
- Known Investors: These companies already understand the value of professional services
- Active Spenders: They're not "thinking about it" - they're actively paying for marketing
- Competitor Intel: See exactly who your competitors' agencies serve
By the Numbers
| Metric | Cold Prospecting | Agency Sniper |
|---|---|---|
| Lead quality | Low (5% qualified) | High (80%+ qualified) |
| Cost per lead | $50-200 | $0.025 |
| Response rate | 1-3% | 10-25% |
| Time to list | Hours/days | Minutes |
| Intent signal | None | Proven buyer |
๐ค Who Is This For?
Sales Development Representatives (SDRs)
Build high-quality prospect lists in minutes instead of hours. Every company discovered has already invested in professional services.
Perfect for:
- Account-based marketing (ABM) campaigns
- Targeted outbound sequences
- Pipeline generation
Marketing Agency Owners
Discover who your competitors serve. Understand market positioning. Find businesses already spending on services like yours.
Perfect for:
- Competitive analysis
- Market research
- New client acquisition
Business Development Teams
Identify partnership opportunities and potential clients by seeing who works with complementary agencies.
Perfect for:
- Strategic partnerships
- Channel development
- Referral networks
Private Equity & M&A Analysts
Research marketing agency client bases for due diligence, valuation, and competitive analysis.
Perfect for:
- Portfolio company analysis
- Market sizing
- Competitive landscape mapping
Freelancers & Consultants
Find businesses that value professional marketing help and have budget to pay for it.
Perfect for:
- Client acquisition
- Niche market research
- Service positioning
๐ผ Use Cases
1. Competitive Intelligence
Scenario: You're a marketing agency and want to see who your top competitor works with.
{"agencyName": "WebFX","agencyDomain": "webfx.com","maxClients": 100}
Result: List of 50-100 companies that work with WebFX, their industries, and confidence scores.
Next Steps:
- Analyze industry concentrations
- Identify underserved verticals
- Target similar companies
2. Lead Generation for Marketing Services
Scenario: You sell SEO services and want to find companies already investing in digital marketing.
{"agencyName": "Ignite Visibility","agencyDomain": "ignitevisibility.com","maxClients": 50}
Result: Companies that hired Ignite Visibility = companies that buy SEO services.
Why It Works: These companies:
- Understand SEO value
- Have allocated budget
- Are likely to switch or add vendors
3. Account-Based Marketing (ABM)
Scenario: You're building an ABM campaign targeting e-commerce companies.
Strategy:
- Run Agency Sniper on 5-10 e-commerce focused agencies
- Aggregate the results
- Enrich with decision-maker contacts
- Launch targeted campaigns
Agencies to Target:
- Blue Acorn iCi (Shopify/BigCommerce)
- Groove Commerce
- Electric Eye
- Absolute Web
4. Partnership & Channel Development
Scenario: You sell marketing technology and want to partner with agencies.
Use Agency Sniper to:
- See which agencies serve your target market
- Understand agency client quality
- Identify agencies worth partnering with
5. Market Research & Sizing
Scenario: You're entering a new vertical and need to understand who the players are.
Strategy:
- Identify top agencies in the vertical
- Extract their client lists
- Analyze industry distribution
- Size the addressable market
6. Due Diligence & Valuation
Scenario: You're acquiring a marketing agency and need to understand their client base.
Use Agency Sniper to:
- Verify claimed client lists
- Assess client quality and industries
- Identify concentration risk
- Compare to competitors
โ๏ธ How It Works
Agency Sniper uses a 6-layer discovery engine to find agency clients:
Layer 1: Website Crawling
Automatically scans 12 common client-related URL patterns:
| URL Pattern | Purpose |
|---|---|
/clients | Direct client list page |
/our-clients | Client showcase |
/portfolio | Work portfolio with client names |
/work | Project showcase |
/our-work | Featured projects |
/case-studies | Detailed client success stories |
/case-study | Individual case studies |
/success-stories | Client testimonials |
/testimonials | Client quotes and logos |
/customers | Customer list |
/projects | Project portfolio |
/results | Results/ROI pages |
Technology: Uses Firecrawl for reliable, JavaScript-rendered web scraping.
Layer 2: Google Search Discovery
Searches Google for agency mentions using 5 query patterns:
"Agency Name" clients"Agency Name" "worked with""Agency Name" portfolio companies"Agency Name" customer successsite:agencydomain.com clients OR portfolio OR "case study"
Why Google Search?:
- Finds press releases mentioning agency partnerships
- Discovers client testimonials on third-party sites
- Uncovers award announcements with client names
- Catches clients mentioned in blog posts and interviews
Layer 3: Footer Attribution Scanning
Automatically scans Google for websites using the agency's footer attribution:
"Designed by Agency Name""Developed by Agency Name""Website by Agency Name""Marketing by Agency Name""SEO by Agency Name""Built by Agency Name"
Why Footer Attribution?:
- Web design agencies always put credit links in footers
- These are verified, active client websites
- Confidence score: 90-95% (explicit attribution)
Layer 4: Social Media Scanning ๐
Searches across 6 major video and social platforms for agency client mentions:
| Platform | Search Strategy |
|---|---|
| YouTube | Client testimonials, case study videos, "working with Agency" |
| Vimeo | Professional portfolio videos, client spotlights |
| Company posts, tagged mentions, partnership announcements | |
| Business page mentions, review posts | |
| Client feature posts, story highlights | |
| Twitter/X | Client shoutouts, campaign announcements |
Why Social Media?:
- Agencies love to show off client wins on social
- Video testimonials reveal active, happy clients
- Tagged posts indicate strong relationships
- Confidence score: 85-95% depending on mention type
Layer 5: Google Reviews Mining ๐
Searches Google Maps/Business reviews for agency client testimonials:
| Query Pattern | Target |
|---|---|
site:google.com/maps "Agency Name" review | Maps reviews mentioning agency |
"Agency Name" review "my business" | Business owners leaving reviews |
"Agency Name" review "our company" | Company representatives |
site:trustpilot.com "Agency Name" | Trustpilot reviews |
site:bbb.org "Agency Name" | BBB reviews |
site:yelp.com "Agency Name" | Yelp reviews |
Why Google Reviews?:
- Business owners often identify their company in reviews
- Positive reviews = active, satisfied clients
- BBB/Trustpilot reviews often include company names
- Confidence score: 75-90% (business owner identification)
Layer 6: AI Extraction with Claude
Uses Claude AI (Anthropic) to intelligently extract company names:
What Claude Does:
- Identifies actual company names vs. generic terms
- Filters out service descriptions and buzzwords
- Assigns confidence scores (0-100)
- Extracts context about the relationship
- Guesses industry based on company name/context
- Infers website URLs when not explicitly listed
Why AI?:
- Pattern matching fails on unstructured content
- Client names appear in many formats
- Context matters for confidence scoring
- Industry classification requires understanding
๐ Quick Start Guide
Step 1: Get Your API Keys
You'll need two API keys:
-
Firecrawl API Key (for web crawling)
- Sign up at firecrawl.dev
- Get 500 free credits to start
-
Anthropic API Key (for AI extraction)
- Sign up at console.anthropic.com
- Add $5 credit to get started
Step 2: Run Your First Snipe
Via Apify Console:
- Go to Agency Sniper on Apify
- Enter agency name and domain
- Paste your API keys
- Click "Start"
Via API:
curl -X POST "https://api.apify.com/v2/acts/jrippy~agency-sniper/runs?token=YOUR_APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"agencyName": "WebFX","agencyDomain": "webfx.com","maxClients": 25,"firecrawlApiKey": "your-firecrawl-key","anthropicApiKey": "your-anthropic-key"}'
Step 3: Get Results
Results are saved to the dataset. Each client includes:
- Company name
- Website URL
- Discovery source
- Confidence score (0-100)
- Context/evidence
- Industry classification
๐ฅ Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
agencyName | string | Yes | - | Exact name of the marketing agency (as it appears on their website) |
agencyDomain | string | Yes | - | Agency's website domain (e.g., webfx.com, not https://webfx.com) |
maxClients | number | No | 25 | Maximum number of clients to discover (5-100) |
searchGoogle | boolean | No | true | Enable Google search for agency mentions |
crawlWebsite | boolean | No | true | Crawl agency website for client pages |
firecrawlApiKey | string | Yes* | - | Your Firecrawl API key (required if crawlWebsite is true) |
anthropicApiKey | string | Yes | - | Your Anthropic API key for Claude AI extraction |
demoMode | boolean | No | false | Return sample data without making API calls |
Input Examples
Minimal Input (uses defaults):
{"agencyName": "Ignite Visibility","agencyDomain": "ignitevisibility.com","firecrawlApiKey": "fc-xxx","anthropicApiKey": "sk-ant-xxx"}
Full Configuration:
{"agencyName": "Ignite Visibility","agencyDomain": "ignitevisibility.com","maxClients": 50,"searchGoogle": true,"crawlWebsite": true,"firecrawlApiKey": "fc-xxx","anthropicApiKey": "sk-ant-xxx"}
Website Only (faster, lower cost):
{"agencyName": "WebFX","agencyDomain": "webfx.com","searchGoogle": false,"crawlWebsite": true,"firecrawlApiKey": "fc-xxx","anthropicApiKey": "sk-ant-xxx"}
Demo Mode (test without API calls):
{"agencyName": "Test Agency","agencyDomain": "testagency.com","demoMode": true}
๐ค Output Format
Individual Client Record
{"companyName": "Hilton Hotels","website": "https://hilton.com","source": "case-study","confidence": 100,"context": "Full case study: 'How we increased Hilton's organic traffic by 340%'","industry": "Hospitality"}
Field Descriptions
| Field | Type | Description |
|---|---|---|
companyName | string | Company/brand name discovered |
website | string | Company website URL (extracted or inferred) |
source | enum | How the client was discovered |
confidence | number | Confidence score 0-100 |
context | string | Evidence of the agency relationship |
industry | string | Industry classification (AI-inferred) |
Source Types
| Source | Description | Typical Confidence |
|---|---|---|
case-study | Dedicated case study page | 95-100 |
website | Listed on client/portfolio page | 80-95 |
footer-attribution | "Designed by Agency" in website footer | 90-95 |
social-media | Found on YouTube, LinkedIn, Facebook, etc. | 85-95 |
google-reviews | Business owner testimonial in reviews | 75-90 |
google | Found via Google search | 60-85 |
Confidence Score Guide
| Score Range | Meaning | Action |
|---|---|---|
| 90-100 | Explicitly listed as client | High-priority lead |
| 70-89 | Strong evidence (logo, testimonial) | Qualified lead |
| 50-69 | Mentioned in context | Verify before outreach |
| Below 50 | Weak/indirect mention | Research further |
Summary Output
Also saved to key-value store as summary:
{"agencyName": "WebFX","agencyDomain": "webfx.com","totalClientsFound": 91,"sources": {"website": 2,"google": 13,"caseStudy": 0,"footerAttribution": 46,"socialMedia": 30,"googleReviews": 0},"avgConfidence": 82,"industries": ["E-commerce", "Healthcare", "SaaS", "Manufacturing", "Finance"]}
Note: Source distribution varies by agency. Web design agencies tend to have more footer attributions, while full-service agencies have more case studies and social media mentions.
๐ป Code Examples
JavaScript/Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });// Run Agency Sniperconst run = await client.actor('jrippy/agency-sniper').call({agencyName: 'WebFX',agencyDomain: 'webfx.com',maxClients: 50,searchGoogle: true,crawlWebsite: true,firecrawlApiKey: process.env.FIRECRAWL_API_KEY,anthropicApiKey: process.env.ANTHROPIC_API_KEY,});// Get resultsconst { items } = await client.dataset(run.defaultDatasetId).listItems();// Filter high-confidence clientsconst qualifiedLeads = items.filter(client => client.confidence >= 70);console.log(`Found ${qualifiedLeads.length} qualified leads`);qualifiedLeads.forEach(lead => {console.log(`${lead.companyName} (${lead.industry}) - ${lead.confidence}% confidence`);});
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_APIFY_TOKEN")# Run Agency Sniperrun_input = {"agencyName": "Ignite Visibility","agencyDomain": "ignitevisibility.com","maxClients": 50,"searchGoogle": True,"crawlWebsite": True,"firecrawlApiKey": "your-firecrawl-key","anthropicApiKey": "your-anthropic-key",}run = client.actor("jrippy/agency-sniper").call(run_input=run_input)# Get resultsitems = list(client.dataset(run["defaultDatasetId"]).iterate_items())# Analyze by industryfrom collections import Counterindustries = Counter(item.get("industry") for item in items if item.get("industry"))print("Industry distribution:", industries.most_common(5))
cURL
# Start the runRUN_ID=$(curl -s -X POST "https://api.apify.com/v2/acts/jrippy~agency-sniper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"agencyName": "WebFX","agencyDomain": "webfx.com","maxClients": 25,"firecrawlApiKey": "'"$FIRECRAWL_KEY"'","anthropicApiKey": "'"$ANTHROPIC_KEY"'"}' | jq -r '.data.id')echo "Run started: $RUN_ID"# Wait and get resultssleep 60curl -s "https://api.apify.com/v2/actor-runs/$RUN_ID/dataset/items?token=$APIFY_TOKEN"
Make.com / Zapier
HTTP Request Configuration:
- URL:
https://api.apify.com/v2/acts/jrippy~agency-sniper/run-sync-get-dataset-items?token=YOUR_TOKEN - Method: POST
- Headers:
Content-Type: application/json - Body:
{"agencyName": "{{agency_name}}","agencyDomain": "{{agency_domain}}","maxClients": 25,"firecrawlApiKey": "{{FIRECRAWL_API_KEY}}","anthropicApiKey": "{{ANTHROPIC_API_KEY}}"}
๐ Integration with God Mode Intel
Agency Sniper is designed to work seamlessly with God Mode Intel MCP V2 - the ultimate B2B intelligence suite.
The Complete Workflow
Agency Sniper God Mode Intelโ โโผ โโโโโโโโโโโโโโโโ โโ Discover โ โโ Agency โ โโ Clients โ โโโโโโโโโโโโโโโโ โโ โโผ โผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ enrich_company_contacts โโ Get decision-maker contacts โโ (CEO, VP Marketing, etc.) โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ score_and_prioritize โโ AI lead scoring by ICP fit โโ Hot / Warm / Cold ranking โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ generate_outreach โโ Hyper-personalized messaging โโ Multiple channels & variants โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Example: Full Pipeline
// Step 1: Discover agency clientsconst clients = await Actor.call('jrippy/agency-sniper', {agencyName: 'WebFX',agencyDomain: 'webfx.com',maxClients: 50,firecrawlApiKey: 'xxx',anthropicApiKey: 'xxx'});// Step 2: Enrich high-confidence clients with God Modefor (const client of clients.filter(c => c.confidence >= 80)) {const enriched = await Actor.call('jrippy/god-mode-intel-mcp-v2', {tool: 'enrich_company_contacts',toolInput: {domain: client.website,titles: ['CEO', 'Owner', 'VP Marketing', 'CMO'],maxContacts: 3},apolloApiKey: 'xxx',firecrawlApiKey: 'xxx',anthropicApiKey: 'xxx'});// Step 3: Generate personalized outreachconst outreach = await Actor.call('jrippy/god-mode-intel-mcp-v2', {tool: 'generate_outreach',toolInput: {lead: enriched,channel: 'email',context: `They currently work with ${agencyName}`,valueProposition: 'Your value prop here'}});}
๐ฐ Pricing
Pay-Per-Event Model
| Event | Price | Description |
|---|---|---|
client_discovered | $0.025 | Each unique client found |
No client = no charge. You only pay for actual results.
Cost Examples
| Agency Size | Typical Clients Found | Estimated Cost |
|---|---|---|
| Small agency | 10-20 clients | $0.25 - $0.50 |
| Mid-size agency | 30-50 clients | $0.75 - $1.25 |
| Large agency | 75-100 clients | $1.88 - $2.50 |
Additional Costs
- Firecrawl: ~$0.01-0.02 per page crawled
- Anthropic Claude: ~$0.01-0.03 per extraction
Total cost per agency: Typically $0.50 - $3.00
โ Best Practices
1. Use Exact Agency Names
// Good{ "agencyName": "WebFX" }// Bad - may not match website content{ "agencyName": "Web FX" }{ "agencyName": "WEBFX" }
2. Start with Demo Mode
Test the output format before using API credits:
{ "demoMode": true }
3. Enable Both Sources
Website + Google gives the most comprehensive results:
{"searchGoogle": true,"crawlWebsite": true}
4. Focus on High-Confidence Leads
Filter for confidence >= 70 for qualified outreach:
const qualified = clients.filter(c => c.confidence >= 70);
5. Batch Multiple Agencies
For market research, run Agency Sniper on multiple agencies:
const agencies = [{ name: 'WebFX', domain: 'webfx.com' },{ name: 'Ignite Visibility', domain: 'ignitevisibility.com' },{ name: 'Thrive Internet Marketing', domain: 'thriveagency.com' }];for (const agency of agencies) {await Actor.call('jrippy/agency-sniper', {agencyName: agency.name,agencyDomain: agency.domain,...commonConfig});}
6. Deduplicate Across Agencies
Same clients may appear on multiple agency sites:
const allClients = [...agency1Results, ...agency2Results];const unique = [...new Map(allClients.map(c =>[c.companyName.toLowerCase(), c])).values()];
โ Frequently Asked Questions
General Questions
Q: How accurate is client discovery?
A: Accuracy varies by source:
- Case studies: 95-100% accurate
- Portfolio pages: 85-95% accurate
- Google search: 70-85% accurate
We recommend focusing on confidence scores >= 70 for outreach.
Q: How long does a run take?
A: Typical run times with all 6 discovery layers enabled:
- Small agencies (25 clients): 8-12 minutes
- Medium agencies (50 clients): 12-15 minutes
- Large agencies (100 clients): 15-20 minutes
The 6-layer discovery engine runs multiple SERP searches across footer attribution, social media, and Google Reviews - this thoroughness takes time but finds 2-3x more clients than basic scraping.
Q: Do you find ALL of an agency's clients?
A: No. We only find clients that are publicly mentioned. Many agencies don't disclose all clients due to:
- NDAs
- Client preference for privacy
- Outdated website content
Expect to find 20-50% of actual clients.
Q: Can I use this for any type of agency?
A: Yes! Works for:
- Digital marketing agencies
- SEO agencies
- PPC/advertising agencies
- Web design agencies
- PR agencies
- Branding agencies
- Creative agencies
Technical Questions
Q: Why do I need a Firecrawl key?
A: Firecrawl handles JavaScript-rendered content that simple HTTP requests can't capture. Many agency websites use React, Vue, or other frameworks that require JavaScript execution.
Q: Why do I need an Anthropic key?
A: Claude AI is used to intelligently extract company names from unstructured text. Pattern matching alone would miss many clients and include false positives.
Q: What if an agency has no client page?
A: Agency Sniper still works by:
- Crawling the homepage for client logos
- Searching Google for press releases and mentions
- Finding case studies in blog posts
Q: Can I run this on competitor agencies without them knowing?
A: Yes. Agency Sniper only reads publicly available information. There's no login or authentication - just web scraping of public pages.
Billing Questions
Q: When am I charged?
A: Only when clients are discovered. If an agency's website has no client information and Google returns nothing, you pay $0.
Q: Are there monthly fees?
A: No. Pay-per-event pricing only. Use it once or 1000 times - you only pay for what you discover.
Q: Do demo mode runs cost money?
A: No. Demo mode returns sample data without making any API calls.
๐ง Troubleshooting
"No clients found"
Possible causes:
- Agency doesn't publicly list clients
- Client pages are behind login
- Domain is incorrect
Solutions:
- Try
searchGoogle: trueto find mentions elsewhere - Verify the domain matches their actual website
- Check if the agency has a separate portfolio site
"API key invalid"
For Firecrawl:
- Keys start with
fc- - Check for extra spaces
- Verify at firecrawl.dev/dashboard
For Anthropic:
- Keys start with
sk-ant- - Ensure you have credits in your account
- Verify at console.anthropic.com
"Timeout errors"
Cause: Large agency websites take longer to crawl.
Solutions:
- Reduce
maxClientsto 25 or less - Disable Google search for faster results
- Try again - some websites have intermittent issues
"Low confidence scores"
Cause: Clients mentioned indirectly or in passing.
Solutions:
- Focus on confidence >= 70
- Enable both website crawling and Google search
- Some agencies simply don't provide clear client attribution
๐ API Keys Setup
Firecrawl API Key
- Go to firecrawl.dev
- Sign up for free account
- Navigate to Dashboard โ API Keys
- Create new key
- Copy key (starts with
fc-)
Free tier: 500 credits included
Anthropic API Key
- Go to console.anthropic.com
- Create account and add payment method
- Navigate to API Keys
- Create new key
- Copy key (starts with
sk-ant-)
Recommended: Start with $5 credit
๐ Support
Resources
- Actor Arsenal: Full catalog of B2B intelligence actors
- God Mode Intel: Ultimate B2B intelligence suite
- Developer: John Rippy
Get Help
- Apify Console: Actor Issues & Discussion
- GitHub: Report issues for fastest response
๐ License
MIT License - Free for commercial use.
Built by John Rippy | Actor Arsenal
Agency Sniper - Stop cold prospecting. Start smart prospecting.
