TaskRabbit Scraper avatar

TaskRabbit Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
TaskRabbit Scraper

TaskRabbit Scraper

Scrape TaskRabbit featured taskers from public city + service pages. Get name, rating, reviews count, tasks completed, Elite status, photo, bio, city, and service with no login, no proxy required.

Pricing

from $3.00 / 1,000 results

Rating

5.0

(8)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

8

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Share

Public TaskRabbit (taskrabbit.com) tasker scraper. Pull the featured taskers that TaskRabbit surfaces on each city + service page — including their rating, review count, completed tasks, Elite status, photo, and bio — all without a login, cookies, or proxy.

What you get

For every tasker the scraper extracts:

  • taskerId — TaskRabbit's internal numeric ID
  • name — display name (first name + initial, e.g. Alejandro C.)
  • averageRating — 0–5 stars
  • reviewsCount — total reviews received
  • tasksCount — total tasks completed
  • isElitetrue if marked Elite by TaskRabbit
  • photoUrl — Cloudinary-hosted profile photo
  • bio — self-written description (when present)
  • serviceSlug / serviceName — the service the tasker was featured for (e.g. assemble-furniture / Furniture Assembly)
  • citySlug / city / state / country — the metro the tasker was featured in
  • sourceUrl — the exact TaskRabbit page each record came from
  • recordType — always tasker
  • scrapedAt — ISO-8601 UTC timestamp

All empty fields are stripped — your dataset never contains null, "", or [] values.

Modes

ModeWhat it doesRequired input
searchFree-text query → the actor extracts a city + service from the phrase and scrapes themsearchQuery
byCityList featured taskers across all services for a citycity (or cities)
byCategoryList featured taskers for a service, including the national page and top metroscategory (or categories)
byCityAndCategoryDrilldown: explicit (city × service) matrixcity + category (or cities + categories)
byUrlsPaste TaskRabbit URLs directlystartUrls

The city and category inputs are dropdowns populated with TaskRabbit's full taxonomy — 171 US metros and 20 service categories — so you do not have to guess slugs.

Supported URL patterns (mode = byUrls)

  • https://www.taskrabbit.com/locations/{city}/{service} (e.g. …/los-angeles/assemble-furniture)
  • https://www.taskrabbit.com/near-me/{service} (national page for a service)
  • https://www.taskrabbit.com/locations/{city} (location page — expanded automatically into the top services for that city)

Filters

FilterTypeWhat it does
minRating / maxRating0–5Range filter on averageRating
minReviewCountintegerDrop taskers with fewer reviews than this
minTasksCountintegerDrop taskers with fewer completed tasks than this
eliteOnlybooleanKeep only Elite-flagged taskers
containsKeywordstringCase-insensitive substring filter over name + bio + service + city
sortByenumdefault, rating-desc, review-count-desc, tasks-count-desc, name-asc
maxItemsinteger (1–1000)Hard cap on emitted records

Example inputs

Search by phrase:

{
"mode": "search",
"searchQuery": "house cleaning chicago",
"maxItems": 20
}

Drilldown on (city × service):

{
"mode": "byCityAndCategory",
"cities": ["los-angeles", "san-francisco", "new-york-city"],
"categories": ["assemble-furniture", "help-moving"],
"minRating": 4.5,
"sortBy": "tasks-count-desc",
"maxItems": 50
}

Direct URL:

{
"mode": "byUrls",
"startUrls": [
"https://www.taskrabbit.com/locations/austin/general-handyman",
"https://www.taskrabbit.com/near-me/junk-removal"
],
"maxItems": 30
}

Output sample

{
"taskerId": 5923230,
"name": "Alejandro C.",
"averageRating": 5.0,
"reviewsCount": 2984,
"tasksCount": 4649,
"isElite": false,
"photoUrl": "https://res.cloudinary.com/taskrabbit-com/image/upload/azshsq1zulzfymkvabel",
"bio": "I moved to many states and many new places in my life. As a result I have had to move around and assemble lots of furniture…",
"serviceSlug": "assemble-furniture",
"serviceName": "Furniture Assembly",
"citySlug": "los-angeles",
"city": "Los Angeles",
"state": "CA",
"country": "US",
"sourceUrl": "https://www.taskrabbit.com/locations/los-angeles/assemble-furniture",
"recordType": "tasker",
"scrapedAt": "2026-05-21T20:32:11.847295+00:00"
}

Data source

This actor reads only public TaskRabbit pages that are reachable without a login:

  • /locations/{city}/{service} — city + service drilldown (featured taskers panel)
  • /near-me/{service} — national featured taskers panel
  • /locations/{city} — city landing page

The actor parses the Next.js __NEXT_DATA__ payload embedded in every page. Each page features the top ~6 taskers for that (city, service) combo, so a single run can sample across many metros and services and aggregate hundreds of distinct taskers.

Tasker count per metro/service is also captured (taskerCount from TaskRabbit's own page header).

FAQ

Do I need a TaskRabbit account, an API key, or a proxy? No. Everything used here is publicly served HTML.

Will this scrape every tasker on TaskRabbit? No — TaskRabbit only publicly surfaces a "featured" subset (typically ~6 taskers per city + service page). The actor extracts that featured set across every city + service combination you choose. There is no public endpoint that lists the full tasker roster.

Why does the scraper output country: "US"? TaskRabbit's /locations/ index covers US metros only — the international pages live on country-specific Next.js routes that do not currently feature taskers publicly.

How fresh is the data? TaskRabbit renders these pages server-side from their live database. Each tasker's averageRating, reviewsCount, and tasksCount reflect the live values at fetch time.

What does isElite mean? A TaskRabbit-assigned distinction for taskers with consistently high ratings, high task volume, and low cancellation rates.

Does the actor follow robots.txt? Yes — only public URLs documented above are visited. No login-walled pages are touched. The actor sends a real User-Agent, paces requests, and retries on 429/5xx with exponential backoff.

Limitations

  • No public hourly-rate field — TaskRabbit shows hourly rate only after you enter the booking flow, so this is not part of the dataset.
  • No phone/email/last-name — only the public initials and first name are visible.
  • Profile pages (/profile/{id}) require a login and are not scraped.