G2 Scraper API
A G2 scraper API that searches G2 for a keyword and returns the products and service providers it lists: name, star rating, review count, vendor with G2’s own vendor id and seller URL, description, every related category and the logo — both result types labelled, deduplicated on G2’s numeric product id. Paginates twenty per page.
$0.001 per delivered product · $2 free every month · Failed runs never billed
$ curl $QD/g2_products/run \
-H "Authorization: Bearer $QD_API_KEY" \
-d '{"query": "crm", "max_results": 40}'
{ "status": "done", "count": 40,
"results": [
{
"product_id": …,
"product_uuid": "…",
"name": "…",
"type": "…" } ],
"cost": 0.04 }
# 40 products × $0.001 · nothing delivered, nothing charged
Try it
G2 software search, running now
Change the input and run it against the live collector — nothing to install, no sign-up.
Run it from your own code, on your own inputs
Same collector, same rows — $2 of free API credit every month, no card.
What a G2 scraper API does
G2’s search page publishes no structured data of any kind — no schema block, no hydration payload, and no reachable JSON endpoint — so this collector reads markup, and it says so plainly: the layout classes it has to touch are utilities that encode presentation, and a redesign that changes a column width can break them. Treat a sudden zero-row run as a layout change first and a block second. The most durable anchors carry the weight: G2’s per-row click-tracking payload, a JSON object keyed by data rather than presentation, supplies the id, the decoded name and the result type; the reviews link and the seller link supply rating and vendor.
Row scoping is not optional here. A results page holds 22 seller links against 20 rows — two live outside the list — so a page-wide query shifts every vendor by one from that point on; categories are worse, one to fifteen per card, and cannot be re-associated at all from a flat list. Every field is read inside its own row. Both “Software” products and “Provider” service firms are returned and labelled, and the numeric id is the deduplication key because two providers can share a name.
Limits, in plain numbers
Everything that bounds one run of this collector. No hidden throttles.
Max per run
300 products
Price
$0.001 / product
Per 1,000
$1.00
Failed runs
Free zero rows, zero charge
Free every month
$2 no card
Rate limit
60 req/min on the free tier
What one product looks like
Every delivered product carries these fields. Nullable means the source did not publish it — the field stays empty instead of being guessed.
| Field | Type | What it holds |
|---|---|---|
rank | integer | Position in G2's order for this response, counting across pages. |
product_id | integer · nullable | G2's numeric product id — stable, and the key used to de-duplicate. |
product_uuid | string · nullable | G2's internal product UUID, when the row carries one. |
name | string | Product or provider name. |
type | string · nullable | What G2 classes the row as: "Software" for a product, "Provider" for a services firm. |
rating | number · nullable | Average star rating out of 5. Null when G2 states no score — it prints "0/5" as a placeholder, and that is never delivered as a rating of zero. |
reviews | integer · nullable | Number of reviews as G2 states it. 0 is a real value and is kept. |
vendor | string · nullable | Seller/vendor name as linked on the row. |
vendor_id | integer · nullable | G2's numeric vendor id. |
vendor_url | string · nullable | G2 seller page URL. |
description | string · nullable | The product description G2 shows on the result card. |
categories | string[] · nullable | Related G2 categories for this product (1 to ~37 per row, read per card). |
logo | string · nullable | Product logo image URL. |
slug | string · nullable | G2 URL slug for the product. |
url | string · nullable | G2 product page URL. |
Inputs
The whole request. Anything you leave out falls back to the default shown in the catalog.
| Input | Type | Required | What it does |
|---|---|---|---|
query | string | yes | What to search G2 for, e.g. "crm", "help desk" or "salesforce consulting". Matches products and service providers alike. |
country | string | no | ISO 3166-1 alpha-2 code — proxy exit geo and Google locale (gl). Omit for the default pool. |
max_results | integer | no | How many products to deliver at most (1–300). You pay only for delivered products. |
Pricing
G2 Scraper API pricing
$0.001 per delivered product. A run that delivers nothing costs nothing: blocked pages, challenges and retries are on us, and the $2 monthly allowance covers about 2,000 products before you spend anything.
Pay as you go
- $2 free credit / month
- 60 requests / min
- List unit prices
Starter
- $15 free credit / month
- 300 requests / min
- 10% off unit prices
Growth
- $50 free credit / month
- 600 requests / min
- 20% off unit prices
Scale
- $250 free credit / month
- 1,200 requests / min
- 30% off unit prices
Same wallet, same key and same $2 monthly allowance as every other Data API. Prices are launch pricing read live from the billing config — GET /v1/scraper/collectors returns the price your key actually pays.
Integration
One POST, typed rows
Base URL https://api.quanticdata.io/v1, Bearer auth, the same key as every other Data API. Endpoint: POST /v1/.
curl -X POST https://api.quanticdata.io/v1/scraper/collectors/g2_products/run \
-H "Authorization: Bearer $QD_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query":"crm","max_results":40}'
What people build with the G2 scraper API
Three shapes of work this endpoint was designed around.
Category benchmarking
Every product G2 returns for “crm” with rating, review count and categories — compare with the Capterra rows for the same space.
Vendor lists
Vendor name, G2 vendor id and seller URL per product: an account list for a category, ready for company-data enrichment.
Review-volume tracking
Review counts by product id over time, the proxy for momentum G2 itself uses.
G2 Scraper API versus rolling your own
The differences that actually cost time when you build this in-house.
| DIY scraper | This collector | |
|---|---|---|
| Identity | Text scraped from a heading | G2’s click-tracking payload: id, decoded name, type |
| Vendor alignment | A page-wide list, off by one after the second stray link | Read inside each row |
| Result types | Products only, or mixed unlabelled | Software and Provider rows, labelled |
| Failure mode | Silent zero rows | Reported as a failure, never billed |
What people search for
Live autocomplete demand around G2 software search, pulled with our own Keyword ideas collector.
Sources and standards
The platform documentation and standards this collector is built against — check any claim on this page against the primary source:
Will this break when G2 redesigns?
Possibly, and the page says so rather than pretending otherwise. Identity comes from a data payload that survives re-theming; rating, vendor and description come from the row’s links and text. A zero-row page is reported as a failure, not delivered as an empty success.
Does it include reviews?
Rating and review count per product, plus the reviews link. Review text is on the product page, which this collector does not open.
What is the difference between Software and Provider rows?
G2 lists products and service firms in the same results. Both are delivered with type stating which, and both carry a vendor and categories.
Is there a G2 API?
G2 sells data access to partners. This collector reads the public search page and needs nothing from G2.
Is there a free G2 scraper API?
Every account gets $2 of credit every month with no card, which is about 2,000 delivered products on this endpoint at $0.001 each. It renews monthly, and a run that delivers nothing is never billed — so a failed or blocked attempt does not eat the allowance.
How much does one run cost?
Multiply the rows you actually receive by $0.001. A run capped at 300 products — the maximum for this collector — costs $0.3 if every row comes back, and less when the source has fewer. Volume tiers take up to 30% off, and GET /v1/scraper/collectors returns the price your key actually pays.
Run the G2 scraper API now
$2 of free credit every month, no card. Your key returns its own prices from GET /v1/scraper/collectors.