OMR Reviews Scraper avatar

OMR Reviews Scraper

Pricing

Pay per event + usage

Go to Apify Store
OMR Reviews Scraper

OMR Reviews Scraper

Extract public OMR software reviews with detailed feedback, recommendation and dimension scores, reviewer and company context, use cases, incentive status, vendor replies, videos, and aggregate statistics. No login or OMR API key required.

Pricing

Pay per event + usage

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Extract public OMR software reviews into a clean, analysis-ready dataset.

The OMR Reviews Scraper accepts OMR product URLs or slugs and returns one row per review with ratings, detailed positive and negative feedback, problems solved, use cases, reviewer and company context, incentive status, vendor replies, videos, and aggregate product statistics.

No OMR login or API key is required. The Actor uses OMR's anonymous structured review endpoint rather than a heavyweight browser, making scheduled review monitoring fast and economical.

What does OMR Reviews Scraper do?

OMR Reviews Scraper turns public product-review pages on OMR Reviews into typed records that are ready for spreadsheets, databases, dashboards, LLM analysis, or alerts.

It can:

  • ⭐ Extract the newest, oldest, highest-rated, or lowest-rated reviews.
  • 🗣️ Preserve full positive, negative, and problems-solved text.
  • 👤 Capture public reviewer names and anonymous-review status.
  • 🏢 Add company name, role, size, and industry context when OMR publishes it.
  • 📊 Return recommendation, support, setup, ease-of-use, and requirements scores.
  • 🧩 List the product use cases attached to each review.
  • 🎁 Identify incentivized reviews.
  • 💬 Include vendor replies and reply senders.
  • 🎥 Include public review-video links and media metadata.
  • 📈 Repeat product-level review counts and rating buckets on every row.
  • 🔁 Paginate through large products while respecting your per-product limit.
  • 🔎 Apply OMR's source-side review text search.

Start with the prefilled HubSpot Sales Hub URL and ten reviews for a quick first run.

Who is this OMR review scraper for?

SaaS product marketing teams

  • Track how buyers describe competing tools in their own words.
  • Collect proof points, objections, and switching triggers for positioning work.
  • Compare use-case language across OMR product pages.

Voice-of-customer and research teams

  • Build a recurring corpus of public B2B software feedback.
  • Segment reviews by company size, role, or industry.
  • Send detailed prose to sentiment, topic, and feature-request models.

Reputation and review-management agencies

  • Monitor new client and competitor reviews on a schedule.
  • Route low recommendation scores or negative text into an alert workflow.
  • Preserve vendor replies for response-time and messaging analysis.

DACH market-intelligence teams

  • Add an OMR-specific source to an existing G2, Trustpilot, or Gartner dataset.
  • Export public German and English review text without manual copying.
  • Compare aggregate OMR rating distributions between products.

Data engineers and analysts

  • Receive stable flattened fields rather than scraping HTML cards.
  • Use review and product IDs for upserts and snapshot comparisons.
  • Trigger runs through API, schedules, webhooks, Make, Zapier, or MCP.

Why use this OMR reviews extractor?

  • No login or API key: the useful records are public and anonymously accessible.
  • HTTP-first: no browser startup or rendering overhead in normal runs.
  • Rich review rows: prose, ratings, firmographics, use cases, replies, media, and aggregates travel together.
  • Multiple products: process up to 100 OMR product URLs or slugs in one run.
  • Strict validation: non-OMR URLs and malformed product paths fail before extraction.
  • Bounded pagination: maxReviewsPerProduct keeps volume and spend predictable.
  • Deduplicated output: each product-review ID pair is saved and charged once.
  • Transparent redaction: OMR placeholder text such as xx is preserved and marked.
  • Export anywhere: download JSON, CSV, Excel, XML, RSS, or JSONL from Apify.
  • Automation-ready: schedule refreshes and consume datasets through API or webhooks.

What OMR review data can you extract?

CategoryFieldsExample use
Review identityreviewId, reviewTitle, publishedAt, reviewUrlUpsert and track reviews over time.
RecommendationrecommendationScore, rightDirectionRank advocates and detractors.
Dimension scorescustomerSupportScore, easeOfSetupScore, easeOfUseScore, requirementsScoreCompare operational strengths and weaknesses.
ReviewerreviewerName, reviewerFirstName, reviewerLastName, reviewerAnonymousUnderstand public reviewer context.
CompanycompanyName, companyRole, companySize, companyIndustrySegment voice-of-customer data.
Detailed feedbackpositive, negative, problemsSolvedTopic, sentiment, and messaging analysis.
Review contextuseCases, incentivized, isTextRedactedFilter and qualify feedback.
Vendor responsevendorReply, vendorReplySenderReview response programs.
VideovideoUrl, videoName, videoContentTypeDiscover public video testimonials.
ProductproductId, productSlug, productTitle, productUrlJoin reviews by product.
AggregatesproductReviewCount, rating buckets, source pagesBuild product-level dashboards.
ProvenancesourcePage, scrapedAtAudit extraction and snapshots.

Optional fields are omitted when OMR does not publish them. The Actor never invents missing reviewer surnames, company details, replies, or scores.

How much does it cost to scrape OMR reviews?

This Actor uses pay-per-event pricing: a small run-start charge plus a charge for each unique review saved. All Actor compute is included in the event price.

Current formula-derived prices are:

Apify planPrice per review
Free$0.00003339
Starter / Bronze$0.000029035
Scale / Silver$0.000022647
Business / Gold$0.000017421
Platinum$0.000011614
Diamond$0.00001000

The run-start charge is $0.005. For example, 100 reviews cost about $0.0079 on the Starter tier, including the start event. Five hundred reviews cost about $0.0195 on the Starter tier.

Apify's Free plan includes monthly platform credits, so a small evaluation run can usually be covered by those credits. The final Store prices always appear in the Apify pricing tab and take precedence over examples here.

How to scrape OMR product reviews

  1. Open OMR Reviews Scraper on Apify.
  2. Add one or more public OMR product URLs or lowercase product slugs.
  3. Set maxReviewsPerProduct to the number of reviews you need from each product.
  4. Choose the review order, such as newest first or highest rating.
  5. Optionally add a review text search phrase.
  6. Click Start and wait for the run to finish.
  7. Open the default dataset to preview the review rows.
  8. Export JSON, CSV, Excel, XML, RSS, or JSONL, or use the API URL.
  9. Save the input as an Apify task if you want recurring monitoring.
  10. Add a schedule or webhook for downstream alerts and analysis.

Small product example

{
"productUrls": [
{ "url": "https://omr.com/en/reviews/product/hubspot-sales-hub" }
],
"maxReviewsPerProduct": 20,
"sortBy": "date"
}

Slug and text-search example

{
"productSlugs": ["hubspot-sales-hub"],
"maxReviewsPerProduct": 100,
"sortBy": "relevance",
"search": "automation"
}

Multi-product monitoring example

{
"productUrls": [
{ "url": "https://omr.com/en/reviews/product/hubspot-sales-hub" },
{ "url": "https://omr.com/en/reviews/product/salesforce-sales-cloud" }
],
"maxReviewsPerProduct": 100,
"sortBy": "date"
}

Input parameters

ParameterTypeDefaultDescription
productUrlsarrayemptyPublic OMR product URLs.
productSlugsarrayemptyLowercase OMR product slugs. At least one URL or slug is required; 100 combined maximum.
maxReviewsPerProductinteger50Maximum unique reviews saved per product; 1-10,000.
sortBystringdatedate, date_asc, rating, rating_asc, weighted_score, or relevance.
searchstringemptyOptional source-side review text phrase, up to 200 characters.
proxyConfigurationobjectdirectOptional Apify or custom proxy configuration.

The web form prefill uses ten reviews to keep the first run fast and inexpensive. The runtime default is 50 when API callers omit the limit.

URL inputs must:

  • use HTTPS;
  • use omr.com or www.omr.com;
  • use /en/reviews/product/{slug} or /de/reviews/product/{slug};
  • contain no credentials;
  • identify one product rather than a category, search, or home page.

Output example

Each dataset item represents one public OMR review.

{
"reviewId": "sales-hub-bewertung",
"reviewUrl": "https://omr.com/en/reviews/product/hubspot-sales-hub",
"reviewTitle": "Sales Hub Bewertung",
"publishedAt": "2026-04-30T16:13:00+02:00",
"recommendationScore": 10,
"customerSupportScore": 7,
"easeOfSetupScore": 7,
"easeOfUseScore": 7,
"requirementsScore": 7,
"rightDirection": "yes",
"reviewerName": "Julian",
"reviewerFirstName": "Julian",
"reviewerAnonymous": false,
"companyName": "LANGEundPFLANZ digital GmbH",
"companyRole": "Head of Digital Consulting & Strategy",
"companySize": "11_50",
"companyIndustry": "management_consulting",
"incentivized": false,
"positive": "The currently published positive review text...",
"negative": "The currently published negative review text...",
"problemsSolved": "Sales automation, reporting, and business development",
"useCases": ["CRM", "Sales Analytics", "Sales Enablement"],
"isTextRedacted": false,
"productId": "9",
"productSlug": "hubspot-sales-hub",
"productTitle": "HubSpot Sales Hub",
"productUrl": "https://omr.com/en/reviews/product/hubspot-sales-hub",
"productReviewCount": 520,
"sourcePage": 1,
"sourceTotalPages": 11,
"scrapedAt": "2026-07-22T00:00:00.000Z"
}

Values above illustrate the field shape. Review text and aggregate counts can change as OMR updates its public pages.

OMR review scores and redacted records

OMR recommendation and dimension scores are returned as source numbers, not converted into stars. That preserves the exact public data for analysis.

Some anonymous or video-led reviews use xx as placeholder text. The Actor keeps that source value and sets isTextRedacted to true. This is preferable to silently dropping a valid review or pretending that the content was empty.

Reviewer surnames and company fields may also be absent. Those optional fields are omitted rather than set to fabricated values.

Choose date for newest-first monitoring. Choose date_asc for historical collection in oldest-first order. Choose rating or rating_asc for advocate or detractor research. Choose weighted_score to use OMR's source ranking. Choose relevance when the search field is present.

The Actor sends search to OMR's review API. It does not perform fuzzy matching after extraction. If a search has no matching reviews, the run fails clearly instead of reporting a misleading successful empty dataset.

Tips for reliable OMR review extraction

  • 🧪 Start with 10-20 reviews from one product before increasing volume.
  • 🔁 Use newest-first order for scheduled monitoring tasks.
  • 🆔 Deduplicate downstream by productSlug plus reviewId.
  • 📅 Keep publishedAt and scrapedAt; they answer different questions.
  • 🧩 Preserve useCases as an array when loading data into a warehouse.
  • 🔎 Use a short, specific search phrase rather than a long sentence.
  • 🌐 Leave proxy disabled unless direct requests fail in your environment.
  • 📉 Use the aggregate rating buckets for quick product-level comparisons.
  • ⚠️ Treat omitted fields as unavailable public source data, not extraction errors.

Monitoring new OMR reviews

Create one saved Apify task per product group or competitive set. Use sortBy: "date" and a bounded recent-review limit. Schedule the task daily, weekly, or monthly depending on review velocity.

For change detection:

  1. Store productSlug and reviewId in your destination.
  2. Upsert each scheduled dataset item by that compound key.
  3. Trigger alerts only for previously unseen IDs.
  4. Route low scores or matching keywords to the relevant team.
  5. Retain scrapedAt for monitoring audit history.

The Actor does not maintain cross-run state automatically. This keeps each dataset complete and makes your destination the source of truth for alerts.

OMR Reviews Scraper integrations

OMR Reviews Scraper → Google Sheets

  • Append newly observed reviews to a product-marketing research sheet.
  • Split use cases and company segments into reporting tabs.

OMR Reviews Scraper → Slack or Microsoft Teams

  • Send an alert when a new review has a low recommendation score.
  • Include the title, product, company context, and negative feedback.

OMR Reviews Scraper → Make or Zapier

  • Run a saved task on a schedule.
  • Filter new dataset rows by review ID.
  • Create CRM notes, research cards, or notification messages.

OMR Reviews Scraper → a data warehouse

  • Load JSONL into BigQuery, Snowflake, PostgreSQL, or DuckDB.
  • Model reviews as facts and product/company fields as analysis dimensions.

OMR Reviews Scraper → an LLM pipeline

  • Summarize recurring praise and objections.
  • Cluster problems solved and requested improvements.
  • Compare themes by product, company size, role, or industry.

Using the Apify API with Node.js

Install the official client:

$npm install apify-client

Run the Actor and fetch its dataset:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/omr-reviews-scraper').call({
productUrls: [{ url: 'https://omr.com/en/reviews/product/hubspot-sales-hub' }],
maxReviewsPerProduct: 50,
sortBy: 'date',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Using the Apify API with Python

Install the official client:

$pip install apify-client

Then run:

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/omr-reviews-scraper').call(run_input={
'productUrls': [
{'url': 'https://omr.com/en/reviews/product/hubspot-sales-hub'}
],
'maxReviewsPerProduct': 50,
'sortBy': 'date',
})
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

Using the Apify API with cURL

Start a run:

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~omr-reviews-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"productUrls": [{"url":"https://omr.com/en/reviews/product/hubspot-sales-hub"}],
"maxReviewsPerProduct": 50,
"sortBy": "date"
}'

After the run succeeds, download dataset items using its defaultDatasetId:

$curl "https://api.apify.com/v2/datasets/DATASET_ID/items?format=json&clean=true"

Keep the API token in an environment variable rather than committing it to code.

Use OMR Reviews Scraper with AI agents via MCP

OMR Reviews Scraper can be called by AI assistants that support the Model Context Protocol.

Claude Code

$claude mcp add --transport http apify "https://mcp.apify.com?tools=automation-lab/omr-reviews-scraper"

Claude Desktop, Cursor, or VS Code

Add this MCP configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/omr-reviews-scraper"
}
}
}

Your client will ask you to authenticate with Apify.

Example prompts:

  • "Use automation-lab/omr-reviews-scraper to collect the 50 newest HubSpot Sales Hub reviews from OMR and summarize the main objections."
  • "Extract OMR reviews matching automation and group the use cases by company size."
  • "Compare public OMR feedback for HubSpot Sales Hub and Salesforce Sales Cloud, including rating buckets and problems solved."

Publicly accessible website data can generally be collected for legitimate purposes, but the exact legal position depends on jurisdiction, purpose, scale, and handling. You are responsible for complying with OMR's terms, applicable copyright rules, database rights, privacy law, and data-protection obligations such as GDPR.

Use the Actor responsibly:

  • collect only public review data;
  • avoid attempts to access private accounts or restricted content;
  • minimize personal data to what your workflow genuinely needs;
  • apply retention and access controls to reviewer information;
  • do not use output for harassment, discrimination, or unsolicited targeting;
  • honor valid deletion or correction obligations in your destination systems.

This documentation is practical guidance, not legal advice. Consult qualified counsel for regulated or high-risk use cases.

Limitations

  • OMR can change its public GraphQL schema, sort values, or rate limits.
  • The Actor extracts supplied product pages or slugs; it does not discover the full OMR product catalog.
  • Optional reviewer, company, score, reply, and video fields depend on what OMR publishes.
  • Some review text is source-redacted as xx; the Actor marks rather than reconstructs it.
  • Text search uses OMR's source behavior and may return fewer reviews than the unfiltered product count.
  • Direct HTTP is the tested default, but large or geographically distributed workflows may need proxy configuration.
  • Product review counts and aggregate rating buckets are snapshots at extraction time.
  • The Actor does not translate review text or calculate sentiment automatically.

Troubleshooting

Why did my run reject a URL?

The Actor accepts only HTTPS OMR product pages under /en/reviews/product/{slug} or /de/reviews/product/{slug}. Category, search, profile, and unrelated URLs are rejected so they cannot silently bypass the product contract.

Why did the run return no dataset?

Check that the product slug still exists and remove an overly narrow search phrase. The Actor deliberately fails a total zero-review extraction so schedules do not look healthy while producing no useful data.

Why are reviewer or company fields missing?

OMR does not publish every field on every review. Anonymous reviews and privacy-redacted records naturally contain fewer public attributes.

Why does a text field contain xx?

That is OMR's public placeholder on some redacted or video-led reviews. Use isTextRedacted to filter those records.

Should I enable a proxy?

Not for a normal first run. Direct anonymous HTTP is the verified route; use proxy configuration only when your network or recurring scale requires it.

Frequently asked questions

How fast is OMR Reviews Scraper?

The Actor uses structured HTTP requests and fetches up to 50 reviews per page. Small runs normally finish far faster than browser-based page-by-page extraction.

Can it scrape all reviews for a product?

Yes. Set maxReviewsPerProduct high enough for the product's public count, up to 10,000.

Can it scrape several OMR products in one run?

Yes. Supply up to 100 product URLs or slugs; the limit applies independently to each product.

Does it require an OMR account?

No. The Actor uses anonymous public product and review data.

Does it replace the official OMR website?

No. It automates extraction and export for analysis; OMR remains the authoritative source and presentation layer.

Can it find sentiment automatically?

It returns the source prose and scores. Connect the dataset to your preferred sentiment or topic-analysis model for derived labels.

How should I detect new reviews?

Schedule newest-first runs and upsert by productSlug plus reviewId in your destination.

Other review scrapers and B2B intelligence tools

Extend the same workflow with Automation Labs actors:

Choose OMR Reviews Scraper when the required source is OMR and the workflow needs rich product-level B2B review records.