Gartner Peer Insights Scraper avatar

Gartner Peer Insights Scraper

Pricing

from $6.00 / 1,000 review scrapeds

Go to Apify Store
Gartner Peer Insights Scraper

Gartner Peer Insights Scraper

Scrape public Gartner Peer Insights product profiles, ratings, market listings, and review samples. Optional session cookie unlocks paginated reviews. Unblocker-first. MCP-ready.

Pricing

from $6.00 / 1,000 review scrapeds

Rating

0.0

(0)

Developer

Khadin Akbar

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

6 days ago

Last modified

Share

For SaaS PMs, competitive analysts, and MCP agents who need structured B2B software review evidence. This Actor extracts public Gartner Peer Insights product ratings, vendor profiles, market product lists, and review samples into dataset rows with fields such as averageRating, reviewCount, headline, and productUrl. Optional caller-owned Peer Insights cookie unlocks paginated api3 review catalogs.

Focused standalone workflow

This Actor is designed as a focused standalone workflow for Peer Insights public pages. An analyst starts with product or market URLs, runs with Apify UNBLOCKER, then exports dataset rows into a comparison sheet or CRM research queue. For multi-platform review aggregation across G2/Capterra instead of Peer Insights, use software-reviews-all-in-one-scraper after you finish the Gartner shortlist.

Best fit

Choose this Actor when you have Peer Insights product URLs, SEO slugs, or market category URLs and need ratings, vendor context, and public review text in a flat Pay-per-event dataset.

It works well for category shortlists from market pages and for bounded product deep-dives that stay on publicly visible Peer Insights pages. Pair it with software-reviews-all-in-one-scraper when the next step is a cross-platform review corpus rather than Peer Insights alone.

Practical scenario

A SaaS PM pastes a Zoom Meetings product URL, keeps Apify UNBLOCKER on, and sets maxReviewsPerProduct to 5. The run then returns one product summary plus public review/highlight rows. Next they export the dataset and compare ratings against an internal shortlist.

Best results

  • Prefer exact productUrls or marketUrls over free-text searchTerms when you already have canonical Gartner links.
  • Keep proxyConfiguration.apifyProxyGroups on UNBLOCKER; that route is what consistently clears Cloudflare for these pages.
  • Start with a small maxReviewsPerProduct / maxProducts to confirm the slug, then raise caps for production batches.
  • Confirm market SEO names from a live Peer Insights market page before bulk runs.
  • Supply a caller-owned Peer Insights cookie only when you need fuller authenticated review catalogs beyond the public sample.

Quick start input

{
"productUrls": [
"https://www.gartner.com/reviews/product/zoom-meetings"
],
"maxReviewsPerProduct": 5,
"includeProductSummary": true,
"includeReviewHighlights": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["UNBLOCKER"]
}
}

Market mode:

{
"marketUrls": [
"https://www.gartner.com/reviews/market/meeting-solutions"
],
"maxProducts": 5,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["UNBLOCKER"]
}
}

Input reference

FieldTypeWhat it controls
productUrlsarrayProduct or reviews URLs (short /reviews/product/{slug} or long market/vendor/product paths).
marketUrlsarrayMarket category URLs returning product cards.
productSlugsarraySEO slugs without a full URL.
searchTermsarrayBest-effort slugified product name hints (not a full Gartner site search API).
maxReviewsPerProductintegerCap on review/highlight rows per product (default 5, max 500).
maxProductsintegerCap on market product cards (default 20, max 200).
includeProductSummarybooleanSave a product profile row (default true).
includeReviewHighlightsbooleanSave likes/dislikes highlight rows (default true).
sessionCookiesecret stringCaller-provided Peer Insights Cookie header for authenticated api3 pagination.
proxyConfigurationobjectPrefer Apify UNBLOCKER for Cloudflare-protected pages.

Output data

FieldDescription
recordTypeproduct, review, or review-highlight
productName / vendorNameDisplay names
averageRating / reviewCountAggregate metrics on product rows
rating / headline / summaryReview fields
jobTitle / industryName / companySizeReviewer firmographics when public
likeText / dislikeTextHighlight snippets
productUrl / sourceUrlProvenance
scrapedAtISO 8601 timestamp

Example review row:

{
"recordType": "review",
"reviewId": "6966038",
"headline": "Good video conferencing product",
"rating": 4,
"jobTitle": "IT Associate",
"industryName": "Software",
"companySize": "1B-10B USD",
"productName": "Zoom Meetings",
"productUrl": "https://www.gartner.com/reviews/product/zoom-meetings",
"scrapedAt": "2026-01-15T12:00:00.000Z"
}

Pricing

Pay per event + platform usage (isPPEPlatformUsagePaidByUser: true). The live Pricing tab is the current source of truth after deployment.

EventPriceWhen charged
apify-actor-start$0.00005Once per run (memory-scaled)
review-scraped (primary)$0.006Each review or likes/dislikes highlight row saved
product-found$0.008Each product profile or market product card saved

Worked cost example for a bounded Zoom Meetings prefill-style run with one product summary plus a couple of public highlight records: $0.00005 + $0.008 + (two × $0.006) = $0.02005 in named PPE events, plus Unblocker/compute platform usage. Invalid inputs and truthful empty products are not charged row events.

API example

curl "https://api.apify.com/v2/acts/khadinakbar~gartner-peer-insights-scraper/runs?token=$APIFY_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"productUrls": ["https://www.gartner.com/reviews/product/zoom-meetings"],
"maxReviewsPerProduct": 5,
"includeProductSummary": true,
"includeReviewHighlights": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["UNBLOCKER"]
}
}'
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('khadinakbar/gartner-peer-insights-scraper').call({
productUrls: ['https://www.gartner.com/reviews/product/zoom-meetings'],
maxReviewsPerProduct: 5,
proxyConfiguration: { useApifyProxy: true, apifyProxyGroups: ['UNBLOCKER'] },
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

MCP / AI agent

MCP tool name: apify--gartner-peer-insights-scraper.

Scrape Zoom Meetings Peer Insights public ratings and review samples with UNBLOCKER, then return dataset rows and note COMPLETE vs VALID_EMPTY vs UPSTREAM_FAILED.

Agent guidance: prefer productUrls/marketUrls over searchTerms; public pages yield a focused sample unless a caller-owned cookie is set; retry with UNBLOCKER when Cloudflare challenges appear; pagination is caller-driven via maxProducts / maxReviewsPerProduct caps. Partial runs keep successful rows and mark PARTIAL.

Outcomes

OutcomeMeaning
COMPLETEAll targets produced useful rows
PARTIALSome targets were invalid or incomplete
VALID_EMPTYValid targets, no public rows
INVALID_INPUTNo usable Gartner targets
UPSTREAM_FAILEDCloudflare/anti-bot challenge on every request
CONFIG_ERRORProxy/config is unavailable at start

Every run writes OUTPUT and RUN_SUMMARY with itemsPushed and chargedEventCounts.

Scope and recovery guidance

Provide UNBLOCKER for Cloudflare-protected Peer Insights pages. Start with known product or market URLs, validate one slug, then scale caps. When a public sample is enough, leave the cookie empty. When authenticated catalogs are authorized, supply a caller-owned Cookie header for that run only. Invalid hosts finish as INVALID_INPUT with zero row charges; Cloudflare-challenged routes finish as UPSTREAM_FAILED so operators can adjust proxy settings.

Builder's note

I built this Actor after finding that plain datacenter HTTP consistently hits Gartner Cloudflare challenges, while Apify Unblocker returns the Next.js RSC embeds that carry initialProductInfo, initialRatings, and market products arrays. I designed the public contract around those embeds so agents get honest product and sample-review rows without implying a login bypass. In my testing, empty Unblocker shells still happen occasionally, so the runtime retries product parses before recording a truthful empty outcome.

Differentiation

This Actor documents the public-page boundary clearly, ships MCP-ready schemas, PPE + usage pass-through, Unblocker-first transport, market discovery, and optional caller-owned authenticated pagination—while staying scoped to Peer Insights public pages and optional caller-owned authenticated catalogs.

Use only for lawful purposes and respect Gartner's terms of service. Public pages and caller-owned sessions only. Callers supply only cookies they are authorized to use for that run. Gartner and Peer Insights are trademarks of their owners. This independent Actor is not affiliated with, associated with, or endorsed by Gartner.