Bark.com Directory Scraper – Listings & Profile URLs
Pricing
$1.50 / 1,000 provider scrapeds
Bark.com Directory Scraper – Listings & Profile URLs
Extract Bark.com business directory listings by category & location: company name, profile URL, rating, area & logo, deduped to one row per provider. Build B2B prospect lists or feed the profile URLs into a Bark Profile Scraper. Returns profiles & URLs, not contact info.
Pricing
$1.50 / 1,000 provider scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Bark.com Listing & Provider URL Scraper
Harvest Bark.com directory listings by category and location and get every public provider's name, profile URL, star rating, service area, and logo — deduplicated to one row per unique provider across every page scanned. The profile URLs feed straight into a Bark profile scraper for full enrichment.
Unofficial: independent tool, not affiliated with, endorsed by, or connected to Bark.com. It collects publicly available listing information only.
Why this directory scraper?
| Typical scrapers | This actor |
|---|---|
| Scrape a single category/city page and stop | Walks Bark's public sitemap across many city, state, and national pages, then merges them |
| Return duplicates when a provider appears on several pages | Deduplicates run-wide by Bark profile ID — one row per unique provider |
| Charge for every page hit, empty or not | Charges per unique provider only; duplicates and empty pages cost nothing |
| Need fiddly, exact slug formatting | Auto-fixes capitalization, spaces (Web Design → web-design), and singular/plural (plumber → plumbers) |
| Hard-coded to one country | Covers 10 Bark regions (US, GB, CA, AU, IE, NZ, SG, ZA, DE, FR) |
| Browser-heavy and slow | HTTP-first parsing with an optional headless-browser fallback for resilience |
Use cases
- Build B2B prospect lists — pull every cleaner, plumber, web designer, or coach Bark lists in a country or region into one deduplicated table.
- Map a competitive landscape — see who ranks in the "Popular providers" section per category and city, with each provider's listing
positionas a popularity signal. - Feed a profile scraper — hand the clean
profileUrllist to a Bark profile scraper to enrich each provider with additional public data. - Track local supply by trade and place — compare provider counts across categories, states, and cities to spot where Bark has dense or thin supply.
- Enrich your CRM with ratings and locations — attach each provider's
ratingValue,listingLocation, andlogoUrlto your own records.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Bark.com Listing & Provider URL Scraper, fill in the inputs you need, and click Start.
- Watch results stream into the dataset table as each record is parsed.
- Export as JSON, CSV, Excel, XML, or RSS — or pull results programmatically via the Apify API.
Input
{"country": "us","categories": ["cleaners"],"state": "","city": "","includeNationalAndState": true,"maxItems": 1000,"maxListingPages": 2000,"proxyConfiguration": { "useApifyProxy": true }}
country(string, required, defaultus) — Bark region to scrape. One of:us,gb,ca,au,ie,nz,sg,za,de,fr.categories(array) — Bark category slugs, e.g.cleaners,plumbers,web-design. Formatting is auto-corrected. Leave empty to scrape all categories (large — use the limits).state(string, optional) — narrow to one region using Bark's own slug for that country: US states (california), Canadian provinces (ontario), UK counties or cities (greater-london), Australian states (new-south-wales). A nation likeenglandis not valid. Leave State and City empty to sweep the whole country.city(string, optional) — restrict to a single city slug (e.g.los-angeles). Requires a State/region to be set as well.includeNationalAndState(boolean, defaulttrue) — also pull providers from the national category page and state pages for maximum coverage. Whenfalse, only city pages are scraped.maxItems(integer, default1000) — hard cap on unique providers scraped and charged. The primary cost guard.maxListingPages(integer, default2000) — safety cap on how many directory listing pages are fetched.maxConcurrency(integer, default5) — maximum parallel requests.minRequestDelayMs(integer, default2000) — minimum wait before each request (jittered up to +3 seconds).maxRequestRetries(integer, default5) — retries per failed request with a fresh session/IP.useBrowserFallback(boolean, defaulttrue) — allow auto-promotion to a headless Chromium browser when a page can't be parsed via HTTP. Bark pages are server-rendered, so this rarely fires.debugRenderPath(boolean, defaultfalse) — diagnostic only; tags each record with a_renderedByfield.proxyConfiguration(object) — Apify Proxy config. Defaults to automatic (datacenter) proxy; switch to the Residential group if large or high-concurrency runs start returning blocked or empty pages.
Output
Each row is one unique provider. Failed listing pages instead produce a record with url, error, retryCount, and errorMessages.
{"profileId": "61X2z","slug": "monty-cleaning-services","profileUrl": "https://www.bark.com/en/gb/company/monty-cleaning-services/61X2z/","name": "Monty Cleaning Services","listingLocation": "Slough","ratingValue": 5,"logoUrl": "https://images.bark.com/.../logo.jpg","description": null,"position": 1,"country": "gb","category": "cleaners","state": "berkshire","city": "slough","listingType": "city","listingUrl": "https://www.bark.com/en/gb/cleaners/berkshire/slough/","scrapedAt": "2026-05-30T06:40:28.000Z"}
Notes:
profileIdis Bark's internal short ID parsed from the profile URL and is the unique key used for deduplication.listingLocation,ratingValue,logoUrl,description,category,state,city,listingType, andlistingUrlcan benullwhen not shown on the card or not applicable to the page (e.g.state/cityare null on national pages). About two-thirds of cards are unrated, soratingValueis oftennullfor new providers.- No phone numbers or emails: Bark keeps provider contact details behind its own quote-request flow, so they are not part of any public listing and this actor does not return them. The
profileUrlis your starting point for going deeper. - Empty results are reported as success: an empty or small result usually means Bark has little public supply for that exact category + place, not that the run failed. The run's status message tells you when this happens.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run it on a cron to keep your data fresh.
- Webhooks — trigger downstream actions the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/bark-listing-scraper').call({country: 'us',categories: ['cleaners'],includeNationalAndState: true,maxItems: 1000,proxyConfiguration: { useApifyProxy: true },});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} records`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push new records straight into your CRM or sheet.
- Slack — get notified when a run finds something new.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server — ask your assistant to "find every cleaning provider Bark lists in the United Kingdom and give me their profile URLs and ratings" and let it run this scraper for you.
More scrapers from scrapesage
Building lead lists or competitive maps? These pair well with this actor:
- Bark.com Profile Scraper — enrich the profile URLs from this actor with full provider data.
- SAM.gov Scraper — US federal contract opportunities and contacts.
- Eventbrite Scraper — events plus organizer leads with contacts.
- LinkedIn Jobs Scraper — filter-based LinkedIn job postings, no login.
- Multi-ATS Job Scraper — jobs from Greenhouse, Lever, Ashby, Workday, and more.
- Facebook Ad Library Scraper — Meta/Instagram competitor ad intelligence.
- Airbnb Scraper — short-stay listings, prices, availability, and market monitor.
Tips
- Easiest reliable setup: choose a Country and Category and leave State/City empty. This sweeps the entire country (all regions and cities) and returns the most providers.
- Want a fast, cheap sample? Set a City and its State (e.g.
texas+houston) — single-city runs finish in seconds. - Want a big list? Leave State/City empty, pick a dense category like
cleaners, and usemaxItemsto control the size and cost. - Coverage varies more by category than country. Bark is strongest in categories like cleaning, coaching, tutoring, creative/design, events, and wellbeing; some trades have thin supply. If a category looks empty, try
cleanersto confirm the actor is working. - Keep the default datacenter proxy for normal runs; switch the proxy group to Residential only if very large or high-concurrency runs start returning blocked or empty pages.
FAQ
The result was empty or small — is it broken?
Almost always no. It means Bark has little or no public provider supply for that exact category + location. Try a denser category like cleaners, or broaden the location by leaving State/City empty. The run's status message will say when a result is empty because of supply.
Why don't I get phone numbers or emails? Bark doesn't publish them on listings — contact happens through Bark's own quote flow. Public listings only expose the fields documented in the Output section.
Can I get more than ~a dozen providers from one city? That's Bark's public ceiling per page. To build a larger list, scan more localities — the default whole-country sweep does this automatically and merges and deduplicates the results for you.
My region filter returned nothing.
Check you used Bark's own region slug. For non-US countries these are counties or cities (e.g. greater-london), not nations (england won't work). When in doubt, leave State/City empty and run Country + Category.
Is this legal? The actor collects only publicly available listing information from Bark.com and returns no personal contact details. Use it responsibly and in line with applicable laws and Bark.com's terms.
What formats can I export? Any Apify-supported format — JSON, CSV, Excel, XML, or RSS — from the dataset table or via the API.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.