Byrna Reviews Extractor
Pricing
from $4.50 / 1,000 results
Byrna Reviews Extractor
Extract detailed customer reviews, ratings, sentiments, and topics from Byrna.com product pages in real time. Perfect for market research, sentiment analysis, and competitor tracking.
Pricing
from $4.50 / 1,000 results
Rating
0.0
(0)
Developer
Kawsar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
Extract structured, analysis-ready customer reviews from any Byrna.com product page — including ratings, sentiment scores, verified buyer status, key topics, and reviewer-uploaded images.
Built for market researchers, e-commerce analysts, product teams, and competitive intelligence workflows.
What This Actor Does
This actor crawls Byrna product pages and collects all publicly visible customer reviews in structured JSON format. It supports batch processing, pagination, and configurable limits so you can pull exactly the data you need — from a single product to your entire catalog.
Each extracted review includes:
- Star rating (1–5)
- Full review text and title
- Reviewer display name
- Verified buyer flag
- Sentiment score (–1.0 to +1.0)
- Helpful / not helpful vote counts
- Key topic extraction with supporting sentences
- Reviewer-uploaded product image URLs
- Review date (ISO 8601)
Use Cases
- Competitive & brand analysis — understand how customers talk about Byrna products
- Sentiment tracking — monitor rating trends over time by re-running the actor
- Product research — surface common complaints, praise, and feature mentions automatically
- Dataset building — export clean JSON to Google Sheets, BigQuery, S3, or any downstream tool via Apify integrations
- Review moderation support — flag low-rated or negative-sentiment reviews for manual review
How to Use
- Find Products — go to byrna.com or byrna.ca and copy the full product URL or just the product handle (e.g.,
byrna-sd-non-lethal-self-defense-pistol). - Configure Input — paste one or more URLs or handles into the
urlsfield. Optionally setitemLimitandrequestTimeoutSecs. - Run the Actor — click Start and the actor handles the rest: product ID resolution, pagination, and structured output.
- Download Results — export your dataset in JSON, CSV, JSONL, XML, or open it directly in Google Sheets via the Apify integration.
Input
Configure the actor from the Apify Console or via the API.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
urls | array<string> | Yes | — | One or more Byrna product page URLs or product handles |
itemLimit | integer | No | 10 | Maximum reviews to extract per product. Range: 1–1000 |
requestTimeoutSecs | integer | No | 30 | Per-request timeout in seconds. Range: 5–120 |
Input Examples
Minimal — single product URL:
{"urls": ["https://byrna.com/products/byrna-sd-non-lethal-self-defense-pistol"]}
Multiple products with custom limits:
{"urls": ["https://byrna.com/products/byrna-sd-non-lethal-self-defense-pistol","https://byrna.com/products/byrna-le-launcher","byrna-hd-extra-power-kit"],"itemLimit": 500,"requestTimeoutSecs": 60}
Tip: You can pass a product handle (the URL slug after
/products/) directly — the actor resolves it to a full URL automatically.
Output
Results are stored in the Apify dataset. Each row represents one customer review.
Output Schema
| Field | Type | Description |
|---|---|---|
product_id | string | Shopify product identifier |
review_id | integer | Unique review identifier |
rating | integer | Star rating from 1 (lowest) to 5 (highest) |
review_date | string | ISO 8601 timestamp of when the review was submitted |
review_title | string | Subject line of the review |
review_text | string | Full body of the review |
reviewer_name | string | Reviewer's public display name ("Anonymous" if not available) |
verified_buyer | boolean | true if the reviewer purchased the product |
sentiment | number | Sentiment score: –1.0 (very negative) → +1.0 (very positive) |
votes_up | integer | Count of users who found this review helpful |
votes_down | integer | Count of users who found this review unhelpful |
topics | object | Key topics detected in the review with supporting sentence excerpts |
images | array<string> | URLs of images uploaded by the reviewer |
Sample Output Record
{"product_id": "6886082838595","review_id": 336452009,"rating": 5,"review_date": "2022-02-10T17:37:27.000Z","review_title": "I love it…","review_text": "I love it… I have guns but just the feeling of a non-lethal way it's amazing and less headaches","reviewer_name": "Jose A.","verified_buyer": true,"sentiment": 0.9295,"votes_up": 395,"votes_down": 70,"topics": {"gun": {"name": "gun","sentence": "I love it… I have guns but just the feeling of a non-lethal way it's amazing and less headaches"}},"images": ["https://cdn-yotpo-images-production.yotpo.com/Review/336452009/241428524/original.jpg"]}
Supported URL Formats
| Format | Example |
|---|---|
| Full US store URL | https://byrna.com/products/byrna-sd-non-lethal-self-defense-pistol |
| Full CA store URL | https://byrna.ca/products/byrna-sd-non-lethal-self-defense-pistol |
| Product handle only | byrna-sd-non-lethal-self-defense-pistol |
Performance & Limits
- Reviews are fetched in pages of 100; pagination is handled automatically.
itemLimitcaps the total reviews collected per product (maximum 1000).- Multiple products in one run are processed sequentially.
- If one product fails (invalid URL, product not found), the actor logs the error and continues with remaining products.
- No proxies need to be purchased or configured separately.
Export Options
After a successful run, export your dataset from the Apify Console in:
| Format | Best For |
|---|---|
| JSON | Developer pipelines, APIs |
| CSV | Excel, Google Sheets |
| JSONL | Streaming data pipelines |
| XML | Legacy integrations |
Connect directly to Google Sheets, Zapier, Make (Integromat), Slack, and other platforms via Apify's built-in integrations.
Error Handling
| Situation | Behavior |
|---|---|
| No valid URLs provided | Actor fails immediately with a clear actionable message |
| Product page not found (404) | Logs error, skips product, continues with remaining |
| Access temporarily unavailable (403/429) | Logs error, skips product, continues with remaining |
| Partial review page returned | Stops pagination for that product, saves what was collected |
FAQs
Do I need to configure proxies?
No. The actor has built-in access infrastructure that handles all routing automatically. No additional configuration is required.
Can I scrape both US (byrna.com) and Canadian (byrna.ca) stores?
Yes. Paste URLs from either store or enter product handles — the actor handles domain routing for both.
Is there a review limit?
You control the limit with the itemLimit parameter (1–1000 per product). The actor also stops naturally when all available reviews have been collected.
What happens if a product URL is invalid?
The actor logs a warning for that product and moves on to the next one. Your run will complete with data for all valid products.
Actor Bio
Byrna Reviews Extractor is a purpose-built Apify actor for collecting publicly available customer reviews from byrna.com — the leading brand in non-lethal self-defense launchers. Unlike generic scrapers, this actor resolves product identifiers dynamically from each page and retrieves full structured review data including sentiment scores, topic classification, and media attachments.
Designed for production use: per-product errors do not abort the full run, and pagination is handled transparently so you always get the complete review dataset up to your configured limit.
Legal & Terms of Use
This actor collects only publicly visible review content from byrna.com and byrna.ca. It does not access any private, authenticated, or gated content. Users are responsible for ensuring their use of extracted data complies with Byrna's Terms of Service and applicable data protection regulations.