RepVue Scraper icon

RepVue Scraper

Scrape RepVue company profiles, RepVue Score, sales-rep reviews, and compensation by role (OTE, base, percentiles) plus jobs and community Q&A. One…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

RepVue Scraper at a glance

RepVue Scraper is a ready-to-run Apify actor from abotapi for collecting jobs data. Its documented output includes company, industry, repvue score, avg rating and ratings, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Jobs, Lead Generation, Automation
Pricing
$1.80 per 1,000 results (Free plan), from $1.00 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
25 options
Run success
96.8% of completed public runs in the last 30 days

Scrape RepVue company profiles, RepVue Score, sales-rep reviews, and compensation by role (OTE, base, percentiles) plus jobs and community Q&A. One rich record per company. Search and filter, or paste company links. Fast, reliable, runs on any plan.

What RepVue Scraper: Company Reviews, Ratings & Sales Compensation can do

  • One rich record per company. Profile, RepVue Score, ratings, reviews, and pay are merged into a single row, so you get the whole picture instead of stitching reviews back to companies yourself.
  • Compensation by sales role. Median and average OTE, base pay, 75th-percentile pay, and highest potential earnings, plus a company-wide pay summary.
  • Full review detail. Review body, numeric rating, verified flag, reviewer role and location tags, and upvotes, with a company response and a follow-up question and answer when RepVue recorded one.
  • Two ways to work. Search and filter the whole RepVue company index, or paste specific company links or slugs.
  • Real filters. Industry, minimum RepVue Score, and company size, with four sort options.
  • Optional add-ons. Switch on open sales jobs and community Q&A per company only when you need them, so you don't pay for requests you don't use.

Choose what to collect

These inputs let you configure RepVue Scraper: Company Reviews, Ratings & Sales Compensation. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredHow to choose what to scrape. 'search' discovers companies from the RepVue index and applies the filters below; 'url' scrapes the specific company pages or slugs you paste.

Choices: search, url

searchstringOptional keyword to narrow discovery to companies whose name/slug contains this text (case-insensitive). Leave empty to consider all companies. Only applies in 'search' mode.
industriesarrayKeep only companies whose industry matches one of these terms (case-insensitive substring). RepVue industries are free text, for example: Software, Finance, Information Technology and Services, Retail / Automotive, Manufacturing, Media and Publishing, Transportation, Healthcare and Hospitals, Education, Medical Devices, Professional / Business Services. Leave empty for all. Only applies in 'search' mode.
minRepvueScoreintegerKeep only companies with a RepVue Score at or above this value (0-100). Leave empty for no minimum. Only applies in 'search' mode.
companySizestringKeep only companies in this headcount band. Leave empty for all sizes. Only applies in 'search' mode.

Choices: , to_250, to_1000, to_10000, over_10001

sortBystringOrder of the returned companies. 'Name (A-Z)' and 'Name (Z-A)' only reorder search-mode discovery and have no effect in 'url' mode, where output follows the order of the URLs/slugs you pasted. 'RepVue Score (high to low)' and 'Ratings count (high to low)' order the companies returned in this run in both modes, including 'url' mode.

Choices: name_asc, name_desc, repvue_score_desc, ratings_count_desc

startUrlsarrayRepVue company links (https://www.repvue.com/companies/Klaviyo) or bare slugs (Klaviyo). A /reviews, /jobs, /salaries or /questions suffix, a ?tab= query and any ?page=N are accepted and normalized to the company, so the example links all resolve to one company row (all review pages up to your limit are fetched). Multiple supported. Only applies in 'url' mode.
Show 18 more inputs
More input fields
InputWhat it controls
includeReviewsbooleanAttach sales-rep reviews to each company (pros/cons body, rating, verified flag, reviewer role & location tags, follow-up Q&A, company response, upvotes).
includeSalariesbooleanAttach compensation by sales role (median & average OTE, base, 75th-percentile, highest potential earnings) plus a pay summary.
includeJobsbooleanAttach the company's currently listed sales jobs. Adds one extra request per company.
includeQuestionsbooleanAttach community questions and answers about the company. Adds one extra request per company.
maxReviewsintegerCap on reviews attached to each company. Set 0 for the maximum of 1000 reviews per company. This controls per-company depth, not how many companies the run returns.
targetDatestringOptionally keep only reviews created on or after this date. Leave empty for all reviews.
minReviewRatingintegerOptionally keep only reviews whose average metric rating (the mean of the review's metric scores, 1 to 5, can be fractional) is at least this value. 0 keeps all reviews; unrated reviews are dropped when above 0. Applied before the max reviews cap.
reviewSortstringOrder of the reviews attached to each company. Default keeps RepVue's own order and stops at the cap; any other order reads all available pages (up to 1000 reviews) before applying the cap.

Choices: default, newest, rating_desc, rating_asc, upvotes

maxItemsintegerStop after this many companies across the whole run. The default (20) keeps a trial run small and cheap; set 0 for no limit. This is the only run-wide cap; 'Max reviews per company' only controls per-company depth.
resumeFromRunIdstringRun id (or dataset id) of an earlier run of this actor. Companies that run already collected are skipped, so an interrupted run can continue without paying twice. Leave empty for a normal run.
incrementalModebooleanRemember what each company looked like on the previous run for this same company set. Every row gets changeType (NEW, UPDATED, UNCHANGED, REAPPEARED, EXPIRED), changedFields, firstSeenAt and lastSeenAt. Unchanged companies are not re-emitted or charged unless 'Emit unchanged' is on. Off by default; with it off the output is unchanged.
stateKeystringOptional name for the saved baseline, so several schedules do not share one. Leave empty to derive it from your company set, filters and collect toggles (never from the caps).
emitUnchangedbooleanAlso output (and charge for) companies that did not change since the last run, marked UNCHANGED.
emitExpiredbooleanAfter a complete scan, output a row marked EXPIRED for each previously tracked company that is no longer found. Each EXPIRED row is one charged dataset item and counts toward Max companies; turn this off to avoid them. Never emitted after a capped, resumed or partly failed scan.
ignoreFieldsForChangesarrayField names (top-level, or dotted such as compensation.summary) that must not count as a change, for example ratings_count. They stay in the output row.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON; the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

nameCompany (text)
industryIndustry (text)
repvueScoreRepVue Score (number)
averageRatingAvg Rating (number)
ratings_countRatings (number)
sizeLabelSize (text)
funding_sourceFunding (text)
last_headcountHeadcount (number)
reviewsCountReviews (number)
compensationRolesCountComp Roles (number)
urlURL (link)
reviewsReview (object)
Show 7 more fields
jobsJob (object)
questionsQuestion (object)
slugSlug (text)
changeTypeChange (text)
changedFieldsChanged fields (array)
firstSeenAtFirst seen (text)
lastSeenAtLast seen (text)

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "recordType": "company",
  "id": 1,
  "slug": "SampleCompany",
  "name": "Sample Company",
  "industry": "Software",
  "size": "to_10000",
  "sizeLabel": "1001-10000",
  "funding_source": "Public",
  "last_headcount": 2924,
  "description": "Short company description text appears here.",
  "website": "https://www.example.com/",
  "careers_url": "https://careers.example.com/",
  "url": "https://www.repvue.com/companies/SampleCompany",
  "repvueScore": 81.97,
  "averageRating": 3.5,
  "ratings_count": 715,
  "verified_ratings_percent": 91.19,
  "compensation": {
    "summary": {
      "highest_base": 165000,
      "lowest_base": 50000,
      "total_ratings_count": 212
    },
    "availableBusinessUnits": [
      "Sales"
    ],
    "roles": [
      {
        "role": "Account Executive",
        "median_ote": 150000,
        "median_base_compensation": 75000,
        "average_highest_potential_earnings": 309529,
        "ratings_count": 85
      }
    ]
  },
  "compensationRolesCount": 1,
  "reviews": [
    {
      "id": 1,
      "body": "Strong enablement and supportive leadership.",
      "rating": {
        "score": 4,
        "type": "overall",
        "user_status": "current"
      },
      "reviewer_role_tag": "Account Executive",
      "rating_verified": true,
      "upvotes": 0
    }
  ],
  "reviewsCount": 1,
  "jobsCount": 0,
  "jobs": [],
  "questionsCount": 0,
  "questions": [],
  "scrapedAt": "2026-01-01T00:00:00.000Z"
}

Ways to use this data

  • Recruiters and talent teams: benchmark sales compensation and screen employer reputation before extending offers.
  • RevOps and sales leadership: compare RepVue Scores, review sentiment, and pay bands across competitors.
  • Compensation analysts: build OTE and base-pay benchmarks by role, industry, and company size.
  • Job seekers and sales reps: research a company's reviews, pay ranges, and open sales roles before applying.
  • Market researchers: track industry-wide rating and compensation trends across companies over time.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does RepVue Scraper return?

The documented output for RepVue Scraper includes company, industry, repvue score, avg rating, ratings, size, funding and headcount. Availability of each field depends on the source page and the selected mode.

How much does RepVue Scraper cost?

It costs $1.80 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Which dataset views are available?

The output tab offers Overview, Reviews, Jobs and Questions views; the last three unwind the nested lists into one row per review, job or question.

Can I get only new or changed companies on a schedule?

Yes. Turn on Incremental mode and schedule the actor from the Schedules tab. Each company is marked NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED, with the changed field names. Unchanged companies are not output, and an unchanged company is not charged the detail-enrichment event. A company whose fetch failed keeps its previous baseline, and EXPIRED rows are only produced after a complete, uncapped, non-resumed scan. The Changes view of the dataset shows these columns. Use ignoreFieldsForChanges for fields such as ratings_count that you do not want to count as a change.

What's the difference between "Max companies" and "Max reviews per company"?

Max companies (maxItems) is the only run-wide cap: it stops the whole run after that many companies. Max reviews per company (maxReviews) only limits how many reviews are attached to each company already being returned; raising it does not add more companies.

Why did my run return no companies instead of failing?

If search-mode discovery can't read the site index, or no page could be loaded, the run ends as failed with a status message explaining why. If URL mode has no startUrls, or none of your companies matched, the run finishes with an empty dataset and a status message explaining why. No placeholder or error row is written to the dataset, so you are not charged for any result rows. Check the run's status message, loosen your filters, or use URL mode with specific company links.

Ready to collect with RepVue Scraper?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.