Bark Scraper (Service Aggregates) avatar

Bark Scraper (Service Aggregates)

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Bark Scraper (Service Aggregates)

Bark Scraper (Service Aggregates)

Scrape Bark.com public service-category pages for aggregate ratings, review counts, and service taxonomy across 11 countries (US, UK, AU, CA, IE, NZ, SG, ZA, IN, DE, FR). Three modes: byUrls, byService, and sitemap-based discover. Honors robots.txt.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(16)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

16

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Bark Scraper

Extract aggregate ratings, review counts, and service taxonomy from Bark.com — the global services marketplace covering 11 countries (US, UK, Australia, Canada, Ireland, New Zealand, Singapore, South Africa, India, Germany, France).

This actor scrapes Bark's public service-category pages (e.g. plumbers, electricians, accountants) at country, state, and city granularity. It pulls structured JSON-LD markup (AggregateRating, BreadcrumbList, LocalBusiness) directly from the page so every record is consistent and clean.

Note on robots.txt: This actor does not crawl per-professional /company/<slug>/ pages — those are robots-disallowed by Bark and out of scope here. We focus on the public service-aggregate surface area.


What you get

For each scraped service-category page, the dataset contains a flat record with:

FieldDescription
recordTypeservice (full record) or serviceUrl (URL-only, from discover mode)
urlCanonical Bark URL of the service page
countryTwo-letter country code (us, gb, au, ca, ie, nz, sg, za, in, de, fr)
langLanguage slug (en, de, fr)
serviceSlugURL-form service slug (e.g. plumbers, personal-trainers)
serviceNameHuman-readable service title (e.g. General Plumbing)
stateState / region slug (when scraping a state- or city-level page)
cityCity slug (when scraping a city-level page)
ratingValueAggregate rating (0–5 scale)
reviewCountTotal reviews counted toward the aggregate
currencyCurrency accepted on this market
paymentAcceptedComma-separated payment methods
openingHoursService availability days
image, logoImage URLs from the page
breadcrumbParent-category chain as ordered [{name, url}]
parentCategoryConvenience flat field — the immediate parent category
providerBark organization metadata (name, url, telephone, email)
lastModified(discover mode only) lastmod timestamp from sitemap
scrapedAtISO-8601 UTC timestamp of the scrape

Empty / unknown fields are omitted rather than emitted as null or "".


Modes

1. byUrls — scrape a list of Bark service URLs

Provide any mix of service, state, or city Bark URLs.

2. byService — build a URL from country + service [+ state + city]

Useful when you have a service slug (e.g. plumbers) and want a specific market.

3. discover — enumerate Bark service URLs from the sitemap

Walks Bark's public sitemap, filters by country + scope + service-name substring, and emits either lightweight serviceUrl records (fast) or full service records (when enrichDiscovered = true).


Inputs

InputTypeRequiredDescription
modeenumyesbyUrls, byService, discover
urlsarraymode=byUrlsBark service URLs to scrape
countryenummode=byService / discoverTwo-letter country code (11 options)
servicestringmode=byServiceService slug (e.g. plumbers)
statestringmode=byService (optional)State / region slug
citystringmode=byService (optional)City slug — requires state
discoverScopeenummode=discoverservice-only, state-only, city-only, all, country-only
serviceFilterstringmode=discover (optional)Substring filter against the service slug
enrichDiscoveredboolmode=discover (optional)If true, fetch each discovered URL and emit a full record
minRatingValueint (0–5)optionalDrop records below this rating
minReviewCountintoptionalDrop records below this review count
keywordIncludesstringoptionalDrop records whose service name doesn't include this keyword
maxItemsint (1–5000)optionalHard cap on emitted records
useProxybooloptionalRoute through Apify proxy
autoEscalateOnBlockbooloptionalAuto-engage Apify proxy on HTTP 403/429 (default true)

Example inputs

Scrape a single US service page:

{
"mode": "byUrls",
"urls": ["https://www.bark.com/en/us/plumbers/"],
"maxItems": 1
}

Scrape a UK service in London:

{
"mode": "byService",
"country": "gb",
"service": "plumbers",
"state": "london"
}

Discover plumbing-related service URLs in the US:

{
"mode": "discover",
"country": "us",
"discoverScope": "service-only",
"serviceFilter": "plumb",
"maxItems": 50
}

Example output

{
"recordType": "service",
"url": "https://www.bark.com/en/us/plumbers/",
"lang": "en",
"country": "us",
"serviceSlug": "plumbers",
"serviceName": "General Plumbing",
"ratingValue": 4.7709,
"reviewCount": 81413,
"currency": "usd",
"paymentAccepted": "Credit Card, Debit Card",
"openingHours": "Mo-Su",
"breadcrumb": [
{"name": "Services", "url": "https://www.bark.com/en/us/services/"},
{"name": "Heating, Hot Water & Air Conditioning", "url": "https://www.bark.com/en/us/heating-hot-water-air-conditioning/"},
{"name": "General Plumbing"}
],
"parentCategory": "Heating, Hot Water & Air Conditioning",
"provider": {
"name": "Bark",
"url": "https://www.bark.com/",
"telephone": "(424) 227-5323",
"email": "team@bark.com"
},
"scrapedAt": "2026-05-07T03:14:22.123456+00:00"
}

Use cases

  • Marketplace research — compare service-category ratings across countries.
  • Pricing benchmarks — pair service + state to track regional differences.
  • Competitive analysis — track how a service category's review count grows over time.
  • SEO research — enumerate a competitor marketplace's full service taxonomy via the sitemap.
  • Lead-generation territory mapping — discover which city/state pages exist for a service in any of the 11 supported countries.

FAQ

Q: Do I need a Bark login or API key? No. Bark publishes the data we extract as public structured markup (JSON-LD) embedded in the page HTML.

Q: Can I scrape individual pro / professional profiles (/company/<slug>/)? No. Bark's robots.txt disallows that path and we honor it.

Q: Do I need a proxy? Usually no — Bark works fine from datacenter IPs. If you hit a block, set useProxy: true (or leave autoEscalateOnBlock: true, the default — the actor will engage Apify proxy automatically on HTTP 403/429).

Q: How does discover mode pick which sitemap shards to read? Bark publishes one shard per country (plus 11 default shards for the US). The actor reads the index, prioritizes shards matching your country filter, and walks each gzipped shard until maxItems is hit.

Q: What does enrichDiscovered do? By default discover emits lightweight serviceUrl records (URL + slugs only — fast, no per-URL HTTP). Setting enrichDiscovered: true makes the actor follow each URL and emit a full service record with rating, review count, breadcrumb, etc.

Q: Why are some output fields missing from a record? The actor never emits null or "". If a field is missing, Bark's page didn't include that data (e.g. some markets don't publish paymentAccepted).


Limitations

  • Per-professional /company/<slug>/ pages are excluded by design (robots-disallowed).
  • The "country-only" discover scope returns 0 records because Bark's sitemap doesn't list country-root pages.
  • Aggregate ratings reflect Bark's marketplace-wide signal for that service in that market — not a single business's rating.
  • discover mode reads up to 11 sitemap shards; very deep walks (>5000 URLs) should be batched across runs via maxItems + serviceFilter.

Built for Apify. Honors robots.txt. No login or cookies required.