ON THIS PAGE
By Efe Berke Colaker, Founder at GetleadReviewed by the Getlead editorial team for accuracy. Last updated September 2026.
Because G2 hides user emails, you must match extracted identities to corporate addresses using an enrichment provider. Verifying these generated emails protects your sending domain reputation from damaging hard bounces.
The definition and the boundary
Scraping G2 reviews is the automated extraction of reviewer names, roles, company sizes, and sentiment. Because G2 hides email addresses, you must run the reviewer name and company through an enrichment provider.
A standard review card contains the author name, job title, and company segment. If the reviewer hides their identity, the platform displays an authenticated user flag, which your script must skip because you cannot enrich anonymous entries.
Extracting data requires a script that paginates through results and targets specific HTML elements. Automated tools use headless browsers like Puppeteer to render JavaScript before parsing the text.
A worked example of review extraction
A sales team targets a competitor with 400 one-star reviews complaining about customer support. They use a Python script to export names to a spreadsheet, then upload this list to an email finder to generate addresses.
The script ignores 50 anonymous reviews, leaving 350 named prospects, and the enrichment provider matches 280 prospects to a corporate domain for verification.
Consider a campaign targeting users of a legacy CRM platform. The scraper extracts 1,200 reviews posted between January and March, and filtering out 300 anonymous users leaves 900 named profiles.
The enrichment tool matches 650 profiles to a corporate domain using a waterfall logic sequence. This sequence queries three separate databases to maximize coverage across different data sources.
Database A finds 400 emails using standard first and last name permutations. Database B identifies 150 additional emails by cross-referencing LinkedIn profile URLs, while Database C locates 100 more addresses through historical breach data.
The team processes these 650 emails through a live SMTP check to identify deliverability risks. The verifier flags 150 addresses as hard bounces and 50 as catch-all domains, leaving a final list of 450 verified prospects.
Sending 450 emails requires careful volume management to avoid triggering spam filters. The team distributes the list across five sending domains, allocating 90 contacts per domain to maintain safe sending limits.
Each domain sends 15 emails per day over a six day period. This pacing keeps the daily volume below the 50 email safety threshold, ensuring maximum inbox placement.
The campaign generates a 65 percent open rate and a 12 percent reply rate. The sales team books 15 qualified meetings directly from this single review extraction effort.
Calculating the campaign ROI
The enrichment process costs two cents per successful email match using standard API pricing. Matching 650 profiles requires an investment of thirteen dollars for the data enrichment phase.
The SMTP verification costs an additional half cent per email, adding three dollars to the total. The total data cost for this campaign equals sixteen dollars to generate 450 verified prospects.
The sales team closes two deals from the 15 booked meetings, generating 24,000 dollars in annual recurring revenue. This yields a return on investment for a targeted outbound motion.
Sending messages to unverified addresses hits spam traps and hard bounces, destroying domain reputation within a week, so you must clean the list to maintain inbox placement.
Where teams get it wrong
Reviewers frequently change jobs, meaning a review posted two years ago indicates the author left that company. Teams fail when they do not filter the scrape by date.
- Filtering reviews older than six months wastes enrichment credits on outdated roles.
- Ignoring the reviewer company size leads to out-of-market prospects.
- Skipping email verification causes bounce rates to exceed the safe 0.51% threshold.
- Failing to segment by star rating results in pitching happy customers.
If a reviewer lists their company as 'Acme', the enrichment tool might return emails for five different companies. You must cross-reference the reviewer industry or location to ensure a precise match.
“We burned through three domains in a month because we scraped historical reviews and skipped the SMTP check. Half the list had already left their companies.”
Head of Sales at a 40-person SaaS
Extracting public data requires adherence to privacy laws and anti-spam regulations. You must ensure your outreach aligns with the professional context of the scraped review to maintain B2B data compliance.
How to apply it this week
Identify three direct competitors with active profiles, then extract all reviews rated three stars or lower from the last 90 days. Export the resulting names and companies to a CSV file.
Enriching the extracted data
Upload your CSV to an enrichment platform to append corporate emails. The platform uses the name and company to guess the pattern before pinging the mail server.
Run the output through a bulk email verifier to remove invalid and catch-all addresses. Draft a cold email referencing the specific pain point the user mentioned.
Load the verified contacts into your cold email software and schedule the campaign. Monitor reply rates and adjust your messaging based on the first fifty responses.
The five step execution sequence
A standard execution sequence requires five distinct steps to convert reviews into meetings. First, you configure a web scraper to target the competitor URL and extract the review container elements.
Second, you filter the extracted dataset to remove reviews older than 180 days. You delete any rows containing a four or five star rating to isolate dissatisfied users.
Third, you upload the cleaned CSV to an enrichment API via a POST request. The API processes the batch and returns a JSON payload containing the predicted email addresses.
Fourth, you upload the enriched list to an SMTP verification service. The service connects to the recipient mail servers and simulates a message delivery to filter out bounces.
Fifth, you write a personalized email sequence referencing the competitor by name. You mention the specific feature they complained about and offer your product as a direct solution.
Writing the cold email sequence
Writing the cold email requires a specific framework to leverage the review data. You start the subject line with the name of the competitor they reviewed.
The first sentence must reference their review to establish relevance. You state that you read their recent comments regarding the missing reporting features to prove you did research.
The second sentence introduces your product as the direct solution to their documented problem. You explain that your platform includes a custom report builder with automated scheduling.
The third sentence serves as a soft call to action to gauge their interest. You ask if they are open to seeing a brief demonstration of the reporting module.
If the prospect does not reply, you trigger an automated follow up three days later. This second email provides a case study of a customer who migrated from the same competitor.
Technical extraction methods
Building a custom scraper requires handling pagination and rate limits because platforms block unrecognized IP addresses. You must route your requests through a proxy network to avoid detection.
Because the DOM structure changes frequently, your script must locate the embedded JSON payload rather than relying on CSS selectors. Extracting the raw JSON provides a cleaner dataset.
Building a Python scraper
To build a Python scraper, you first import the requests and BeautifulSoup libraries. You define the target URL and set custom headers to mimic a legitimate web browser.
Next, you configure a rotating proxy service to assign a new IP address for every request. You create a loop that iterates through the page numbers appended to the base URL.
Inside the loop, the script fetches the HTML content and parses it using BeautifulSoup. It searches for the script tag containing the application state data and extracts the JSON string.
The dictionary contains a nested array of review objects with standardized keys. You iterate through this array to extract the author name, job title, and review body.
After processing all pages, you use the pandas library to convert the master list into a dataframe. You apply data cleaning functions to strip whitespace and remove special characters.
Handling rate limits and proxies
Handling rate limits requires a proxy rotation strategy to maintain extraction speed. You purchase a pool of residential IP addresses because they mimic real user traffic.
You configure your scraper to rotate the IP address after every fifty page requests. If a request returns a 403 Forbidden status code, the script discards that IP.
You also implement random delays between requests to simulate human browsing behavior. The script pauses for a random float value between 1.5 and 4.2 seconds to prevent detection.
To further evade detection, you rotate the user agent string alongside the IP address. You maintain a list of the top twenty most common browser user agents.
Commercial extraction tools handle proxy rotation if you prefer not to write code. These tools operate similarly to scraping LinkedIn Sales Navigator, managing session cookies and exporting a clean spreadsheet.
Always review the terms of service because some platforms prohibit automated data collection. You must balance the technical capability with the legal and operational risks.
Sources and method
The FTC CAN-SPAM compliance guide outlines the legal requirements for commercial email in the United States, mandating clear opt-out mechanisms and accurate header information.
GDPR Article 6 defines the lawful basis for processing personal data in the European Union. You must establish a legitimate interest when processing B2B contact information.
A Reddit analysis of 150k negative reviews demonstrated the scale of competitor sentiment data available. Figures were checked in September 2026.
Frequently asked questions
Are G2 reviews legitimate?
Yes, G2 requires LinkedIn authentication or corporate email verification to post a review. This verification ensures the reviewer is a real person, making extracted names and companies accurate for outbound targeting.
Is G2.com a legitimate website?
G2 is a major software review directory that verifies user identities before publishing feedback. It serves as a primary research tool for B2B software buyers and provides reliable sentiment data.
How much does G2 pay per review?
G2 often offers gift cards ranging from $10 to $25 to incentivize users to leave detailed software reviews. These incentives encourage users to write feedback, providing more context for outbound campaigns.
Can you scrape emails directly from G2?
No, G2 does not display user email addresses publicly on review pages. You must extract the reviewer name and company, then use a separate enrichment provider to find the corporate address.
How do you handle anonymous reviewers?
You must configure your extraction script to skip anonymous reviews entirely. Without a name and a company, an enrichment provider cannot generate a valid email address.
