Lead Generation & Web Scraping
AI-powered prospecting and data extraction
Girard's Lead Generation platform helps you find, enrich, and qualify prospects at scale. Use AI-powered web scraping to build targeted lead lists and enrich contact data from multiple sources.
Overview
The Lead Generation Platform provides:
- Intelligent Scraping - Extract data from any website
- Lead Discovery - Find prospects matching your ICP
- Data Enrichment - Append contact and company data
- List Building - Create targeted outreach lists
- Email Finding - Discover verified email addresses
- Intent Signals - Identify buying signals
Getting Started
Access lead generation from the dashboard:
- Scraping Dashboard -
/scraping - Lead Lists -
/outreach/lists - Enrichment -
/outreach/enrichment
Web Scraping
Scraping Jobs
Create automated scraping jobs:
- Navigate to Scraping
- Click New Scraping Job
- Configure:
- Target URL or search query
- Data to extract
- Pagination rules
- Output format
Scraping Configuration
scraping_job:
name: "LinkedIn Sales Nav Export"
source: linkedin_sales_navigator
search:
title: ["VP Sales", "Director Sales", "Head of Sales"]
company_size: ["51-200", "201-500"]
industry: ["SaaS", "FinTech"]
geography: ["United States"]
extract:
- name
- title
- company
- location
- profile_url
- company_url
limits:
max_results: 1000
rate_limit: 100/hour
output:
format: csv
dedupe: true
enrich: true
Supported Sources
| Source | Data Available | Status |
|---|---|---|
| Profiles, Companies, Posts | Production | |
| Sales Navigator | Advanced search, Leads | Production |
| Crunchbase | Companies, Funding, People | Production |
| Company Websites | Contact pages, Team pages | Production |
| Search results, Maps | Production | |
| Job Boards | LinkedIn, Indeed, Glassdoor | Production |
| Review Sites | G2, Capterra, TrustRadius | Production |
AI-Powered Extraction
Extract unstructured data with AI:
ai_extraction:
url: "https://example.com/about/team"
model: gemini-2.0-flash
extract:
- field: name
description: "Full name of team member"
- field: title
description: "Job title"
- field: email
description: "Email address if visible"
- field: linkedin
description: "LinkedIn profile URL"
- field: bio
description: "Short bio or description"
Scheduled Scraping
Automate recurring scraping:
schedule:
job: "competitor_tracking"
frequency: daily
time: "06:00"
timezone: "America/New_York"
on_complete:
- action: notify
channel: slack
- action: update_list
list_id: "list_123"
Lead Discovery
ICP Matching
Define your Ideal Customer Profile:
icp:
company:
size: ["51-200", "201-500"]
industry: ["SaaS", "Technology"]
revenue: ["10M-50M"]
location: ["US", "Canada"]
technologies: ["Salesforce", "HubSpot"]
contact:
titles: ["VP Sales", "Director Marketing"]
seniority: ["VP", "Director", "Head"]
department: ["Sales", "Marketing"]
signals:
hiring: true
funding_stage: ["Series A", "Series B"]
growth_rate: "> 20%"
Lead Scoring
Automatic lead scoring based on ICP fit:
lead_score:
max_score: 100
criteria:
- factor: company_size_match
weight: 20
- factor: industry_match
weight: 15
- factor: title_match
weight: 25
- factor: seniority_match
weight: 15
- factor: technology_match
weight: 10
- factor: intent_signals
weight: 15
thresholds:
hot: 80
warm: 50
cold: 0
Data Enrichment
Enrichment Sources
Enrich leads from multiple providers:
| Provider | Data Types | Accuracy |
|---|---|---|
| Clearbit | Company, Person, Tech | 95%+ |
| ZoomInfo | Contact, Intent | 90%+ |
| Apollo | Email, Phone, Company | 85%+ |
| People Data Labs | Personal Data | 90%+ |
| Hunter | Email verification | 98%+ |
| BuiltWith | Technology stack | 95%+ |
Enrichment Flow
enrichment:
input:
- email
- company_domain
steps:
- provider: clearbit
fields: [company_info, person_info]
fallback: apollo
- provider: zoominfo
fields: [direct_phone, mobile]
fallback: none
- provider: builtwith
fields: [technologies]
output:
- full_name
- title
- company_name
- company_size
- industry
- phone
- technologies
- linkedin_url
Email Finding
Discover email addresses:
email_finder:
input:
first_name: "Sarah"
last_name: "Chen"
company_domain: "techcorp.com"
methods:
- pattern_matching # sarah.chen@, schen@
- smtp_verification
- api_lookup # Hunter, Apollo
output:
email: "sarah.chen@techcorp.com"
confidence: 95%
catch_all: false
verified: true
Email Verification
Verify email deliverability:
| Status | Description |
|---|---|
| Valid | Verified deliverable |
| Invalid | Does not exist |
| Catch-All | Domain accepts all |
| Risky | May bounce |
| Unknown | Could not verify |
Intent Data
Intent Signals
Identify buying signals:
intent_data:
sources:
- provider: bombora
signals: [topic_surge, company_surge]
- provider: g2
signals: [product_views, comparisons]
- provider: first_party
signals: [website_visits, content_downloads]
scoring:
high_intent:
- "pricing page visit"
- "demo request"
- "competitor comparison"
medium_intent:
- "feature page visit"
- "blog engagement"
- "webinar attendance"
Intent Topics
Track intent by topic:
intent_topics:
relevant:
- "Sales Automation"
- "AI for Business"
- "CRM Software"
- "Marketing Automation"
surge_threshold: 3x # 3x normal activity
alerts:
- condition: "surge_score > 80"
action: "add_to_sequence"
sequence_id: "hot_leads"
List Building
Creating Lists
Build targeted lead lists:
- Navigate to Outreach > Lists
- Click New List
- Configure:
- Static (manual) or Dynamic (rule-based)
- Filters and criteria
- Enrichment settings
- Deduplication rules
Dynamic Lists
Auto-updating lists based on rules:
dynamic_list:
name: "Hot Enterprise Leads"
rules:
- field: company.employees
operator: ">"
value: 500
- field: lead_score
operator: ">="
value: 80
- field: intent.surge_score
operator: ">"
value: 50
enrichment:
auto_enrich: true
providers: [clearbit, apollo]
refresh: hourly
List Operations
| Operation | Description |
|---|---|
| Merge | Combine multiple lists |
| Subtract | Remove overlapping contacts |
| Intersect | Find common contacts |
| Dedupe | Remove duplicates |
| Suppress | Remove bounces/unsubscribes |
Compliance
Data Handling
Responsible data practices:
- GDPR compliance
- CCPA compliance
- Data minimization
- Consent tracking
- Right to erasure
Rate Limiting
Respectful scraping:
- Configurable delays
- Robots.txt respect
- Rate limit handling
- IP rotation (optional)
Data Retention
retention:
scraped_data: 90 # days
enrichment_cache: 30
intent_data: 14
suppression_list: 365
API Reference
Create Scraping Job
POST /api/v1/scraping/jobs
{
"name": "LinkedIn Leads",
"source": "linkedin",
"config": {
"search": {
"title": ["VP Sales"],
"company_size": ["51-200"]
},
"maxResults": 500
}
}
Enrich Contact
POST /api/v1/enrichment/enrich
{
"email": "sarah@techcorp.com",
"providers": ["clearbit", "apollo"],
"fields": ["company", "phone", "linkedin"]
}
Find Email
POST /api/v1/enrichment/find-email
{
"firstName": "Sarah",
"lastName": "Chen",
"domain": "techcorp.com",
"verify": true
}
Check Intent
GET /api/v1/intent/company/{domain}
?topics=sales_automation,crm_software
Response:
{
"domain": "techcorp.com",
"intent_score": 85,
"surge_topics": [
{"topic": "Sales Automation", "score": 92},
{"topic": "CRM Software", "score": 78}
],
"signals": [
"Visited G2 comparison page",
"Downloaded pricing guide"
]
}
Previous: Analytics & Observability | Next: API Reference