Bark Scraper — Company Reviews by Category & City
Pricing
$5.00 / 1,000 per company returneds
Bark Scraper — Company Reviews by Category & City
Scrape home-services companies from Bark.com by category and city: business name, services offered, aggregate rating, review count and individual reviews (author, rating, date, text). Structured JSON, no login. Note: Bark hides phone/email/address behind a lead form — not scraped.
Pricing
$5.00 / 1,000 per company returneds
Rating
0.0
(0)
Developer
Scrapers Delight
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Bark.com Scraper — company profiles, ratings & reviews by category and city
Turn any Bark.com category + US city into a structured list of local service companies, complete with their aggregate rating, review count and individual customer reviews.
Bark is one of the largest home- and professional-services marketplaces. Its public category × city pages list the companies competing in a market; each company profile carries schema.org microdata with the business identity and its full public review history. This actor reads that structured data directly — no browser, no private API, no guessing at selectors.
Use it for competitive/review intelligence: track how rivals are rated in the cities you serve, mine review text for service gaps, size a market before you enter it, or build a ranked shortlist of providers in a category.
What this actor does NOT return: phone, email and postal address. Bark deliberately keeps those behind a JavaScript "Reveal" / lead-form flow, so they are not present in the page at all. This is a review-intelligence actor, not a contact-enrichment actor. Nothing is silently null — those fields are simply not offered.
What you get
- Business identity: name, Bark profile URL, stable
barkCompanyId, description, logo - Services the company serves (
categoriesServed) and the category/city it was found under - Reputation: aggregate rating, total review count
- Up to ~50 individual reviews per company: author, star rating, date and full review text
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | string | search | search = crawl category × city listings. startUrls = scrape the exact Bark URLs you supply. |
category | string | accountants | Bark category slug, e.g. accountants, plumbers, photographers, personal-trainers. |
locations | array of strings | – | US cities in City, ST form, e.g. ["Austin, TX", "New York City, NY"]. Both the 2-letter code and the full state name are accepted. |
startUrls | array | – | Used when mode is startUrls. Accepts Bark listing URLs (/en/us/<category>/<state>/<city>/) and company profile URLs (/en/us/company/<slug>/<code>/). |
includeReviews | boolean | true | Emit the individual reviews array per company. |
maxReviewsPerCompany | integer | 20 | Cap on reviews stored per company. |
maxItems | integer | 100 | Hard cap on companies per run. 0 = unlimited. |
proxyConfiguration | object | Apify RESIDENTIAL, country US | Required. Bark serves a CloudFront 403 to datacenter and direct requests; residential US returns clean 200s. |
Run it with no input at all and the actor performs a small documented sample run — accountants in New York City, NY, capped at 10 companies — so you always get real example rows.
Output
One row per company:
| Field | Description |
|---|---|
barkCompanyId | <slug>/<code> — stable dedupe key |
businessName | Company name |
profileUrl | Bark profile URL |
description | Company's own description |
categoriesServed | Services the company lists (schema.org knowsAbout) |
aggregateRating, reviewCount | Aggregate reputation |
reviews[], reviewsShown | Individual reviews (author, rating, date, text) and how many were stored |
logoUrl | Company logo |
scrapedAt | ISO timestamp of the fetch |
searchCategory, searchCity, searchState | The query this row was found under |
sourceUrl | The listing page the company was discovered on |
Duplicates are collapsed run-wide on barkCompanyId, so the same company appearing in several
cities or categories is only emitted — and only charged — once.
Reliability
- The run ends successfully with a status message if Bark blocks the transport or a query has no results; it never fails a run over a transient block. Re-running picks fresh residential IPs.
- A wall-clock budget stops the crawl before the platform's run timeout and emits everything already collected, rather than being killed mid-run.
Pricing
Pay-per-event: you are charged only for company rows actually delivered to the dataset
(company-scraped). Blocked fetches, duplicates and pages that yield nothing cost you nothing.
See the Pricing tab for the current per-event price.
Legal
Only ordinary public page loads are used. You are responsible for complying with Bark's Terms of Service and with applicable data-protection law — review text and reviewer display names are personal data.