Bark.com Directory Scraper – Listings & Profile URLs
Pricing
from $1.24 / 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
from $1.24 / 1,000 provider scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
0
Monthly active users
12 days ago
Last modified
Categories
Share
Bark.com Listing & Provider URL Scraper
Disclaimer: This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Bark.com Global Limited or any of its subsidiaries. All trademarks mentioned are the property of their respective owners. "Bark.com" is referenced only to describe the publicly available website this Actor collects data from.
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.
How much does it cost to scrape Bark.com?
This Actor uses Apify's pay-per-event pricing: you are charged only for the results it delivers, with no monthly rental and no start fee. The events it can charge are:
- Provider scraped - One unique provider returned
The current price of each event is shown on the Pricing tab of this page. Set a maximum total charge on the run if you want a hard cap on spend, and use the input limits to control how much the Actor fetches.
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.
Agent-ready: autonomous payments (x402 & Skyfire)
This actor is agent-ready — AI agents can discover it, run it, and pay for it autonomously, with no Apify account and no human in the loop. It uses pay-per-event pricing and limited permissions, so it qualifies for Apify's agentic-payment standards:
- x402 — an open, HTTP-native payment protocol. Agents pay per run in USDC on the Base network directly through the Apify MCP server — no account, no API key.
- Skyfire — agent-to-service payments for fully autonomous AI-agent workflows.
Building an AI agent, MCP tool, or autonomous data pipeline? This scraper is ready to plug in and pay as it goes.
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.
Data & lawful use
This Actor reads business and professional listings that the professionals themselves published to be found: names, roles, firms, ratings and the contact details shown on the public listing. Because those details belong to identifiable people, treat the output as personal data. If you are in the EU or UK you are the data controller for what you do with it: have a lawful basis (usually legitimate interest for B2B prospecting or market research), keep any outreach relevant to the professional's line of work, honour opt-outs and deletion requests, and do not use the output for spam.
Under Apify's Standard Actor Contract, which governs your use of this Actor, you are the controller of any personal data in your input and output and scrapesage acts only as your processor: that data is processed solely to run your job, written only to your own Apify storage, never used for any other purpose and never shared onward. If you need help with a data-subject request that involves this Actor's output, open an issue on the Issues tab.
Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Bark.com Global Limited or any of its subsidiaries. All trademarks mentioned are the property of their respective owners.
"Bark.com" and any related marks are the property of their respective owners and are used here only in a descriptive, nominative sense - to identify the publicly accessible website from which this Actor collects data. This Actor is not an official Bark.com product, is not authorised or certified by Bark.com Global Limited, and does not distribute Bark.com software. It collects only publicly available information; you are responsible for ensuring your use of that data complies with applicable laws, regulations and the terms of the source website.
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.