TaskRabbit Scraper - Taskers, Rates, Ratings & Availability
Pricing
from $1.60 / 1,000 tasker or review records
TaskRabbit Scraper - Taskers, Rates, Ratings & Availability
Scrape TaskRabbit taskers by US city and service. Extract hourly rates, ratings, reviews, completed tasks, elite status, and availability. Track NEW, UPDATED, REAPPEARED, and EXPIRED taskers with incremental runs, resume, and MCP export.
Pricing
from $1.60 / 1,000 tasker or review records
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
TaskRabbit Scraper - Taskers, Rates & Reviews
Scrape TaskRabbit (taskrabbit.com), the services marketplace, by US city and service category. Taskers list hourly rates, ratings, review counts, completed tasks and availability; this actor returns those tasker records for the cities and services you pick (furniture assembly, TV mounting, moving, house cleaning, handyman and more), reads any public tasker profile by link or id, and can pull each tasker's reviews. It also monitors changes across runs (NEW, UPDATED, REAPPEARED, EXPIRED), resumes interrupted pulls, and pipes results into your apps through MCP connector export.
Why This Scraper?
- Real rate data: per-category hourly rates, the client-facing rate, and the service fee, alongside ratings, review counts and completed tasks.
- Availability signal: each profile record carries the tasker's on-duty status, hours worked and years on the platform.
- City search: paste city names; they are matched against the source's own city pages, and each city+service pull returns the taskers the source features for that city.
- URL mode: paste tasker profile links or numeric ids for a direct read.
- Review records: optional per-tasker review rows and per-city service testimonials.
- Availability monitoring: scheduled runs classify every record as NEW, UPDATED, UNCHANGED, REAPPEARED or EXPIRED, with per-campaign state you can name or share.
- MCP connector export: send results to Notion and other connectors without changing the dataset.
- Structured failures: a blocked or broken run fails loudly with a clear message instead of returning an empty dataset.
Data You Get
Sample shape: values are illustrative placeholders, not from a live listing.
| Field | Example value |
|---|---|
| kind | tasker |
| recordId / taskId | 1883135 |
| url | https://www.taskrabbit.com/profile/glenn-w--3 |
| displayName | Sample T. |
| cityName / citySlug | Portland, OR / portland |
| serviceName / serviceSlug | Furniture Assembly / assemble-furniture |
| averageRating | 5.0 |
| reviewsCount / totalReviewCount | 1443 / 2011 |
| tasksCount / taskCountProfile | 2334 / 4066 |
| elite | false |
| onDuty | true |
| positiveRating | 100% |
| hoursWorked | 9494.25 |
| rabbitSinceYear | 2016 |
| categories | [{"categoryName": "Furniture Assembly", "hourlyRate": 60.0, "hourlyRateDisplay": "$60.00/hr", ...}] |
| ratingDistribution | {"5": 1971, "4": 35, ...} |
| changeType | NEW |
| firstSeenAt / lastSeenAt | 2026-01-01T00:00:00.000Z |
Review records (kind=review, optional) carry the review text, rating, category, date and the poster name. City testimonial records (kind=city_review, optional) carry the recent service reviews shown on each city page. Every record also carries the full upstream object (raw), so no upstream field is ever dropped.
How to Use
Zero setup: the source serves its tasker pages and profiles openly, so paste one or more US cities plus services and run, or switch to URL mode with tasker links. No account is needed. Profile enrichment (rates and availability) is on by default; turn on the review toggle when you also want the review rows. For recurring monitoring, switch on incremental mode and schedule the run.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
| mode | select | search | search (cities + services) or url (tasker links or ids) |
| locations | list | Portland, OR | US city names (New York, Austin, Texas) |
| services | list | furniture assembly, tv mounting | Service categories; friendly names and source slugs both work |
| profileInputs | array | empty | Tasker links or numeric ids (url mode) |
| urls | array | empty | Alias for profileInputs, accepted under the usual Apify URL-mode name |
| includeProfiles | boolean | true | Search mode: fetch each tasker's full profile (rates, availability). Off = card-only pull |
| includeReviews | boolean | false | Also emit one record per public review, kind=review |
| maxReviewsPerTasker | integer | 10 | Bound on review rows per tasker (source serves 10 per page) |
| includeCityReviews | boolean | false | Also emit the city pages' recent service testimonials, kind=city_review |
| maxItems | integer | 20 | Stop after this many records (0 = no limit) |
| resumeFromRunId | string | empty | Continue one interrupted run, skipping collected ids |
| incrementalMode | boolean | false | Recurring monitoring with change detection |
| stateKey | string | empty | Name a monitoring campaign (incremental mode) |
| emitUnchanged | boolean | false | Also return UNCHANGED rows (returns and bills extra rows) |
| emitExpired | boolean | false | Also return EXPIRED rows after a complete scan |
| mcpConnectors | array | empty | Optional MCP connector export |
| notionParentPageUrl | string | empty | Notion parent page for the Notion connector |
| maxNotifyListings | integer | 50 | Cap per connector per run |
| proxyConfiguration | object | proxy on | Standard Apify proxy settings |
Filters apply to search mode where noted; URL mode reads the taskers you name directly. Source limit: the source features up to 6 taskers per city and service, and there is no deeper public listing (the interactive all-taskers flow lives behind its booking funnel), so wider coverage comes from more cities or services rather than page walks. Tasker reviews are served 10 per page and bounded by Max reviews per tasker.
Output Example
Sample shape: values are illustrative placeholders, not from a live listing.
{"kind": "tasker","recordId": "1883135","taskId": 1883135,"url": "https://www.taskrabbit.com/profile/sample-t--2","displayName": "Sample T.","citySlug": "portland","cityName": "Portland, OR","serviceSlug": "assemble-furniture","serviceName": "Furniture Assembly","averageRating": 5.0,"reviewsCount": 1443,"tasksCount": 2334,"elite": false,"onDuty": true,"positiveRating": "100%","hoursWorked": 9494.25,"categories": [{"categoryId": 33,"categoryName": "Furniture Assembly","hourlyRate": 60.0,"hourlyRateDisplay": "$60.00/hr","hourlyRateCurrency": "USD","posterRateDisplay": "$70.58/hr","serviceFeePercent": 15.0}],"source": "profile","raw": { "full upstream profile object" },"changeType": "NEW","changedFields": [],"firstSeenAt": "2026-01-01T00:00:00.000Z","lastSeenAt": "2026-01-01T00:00:00.000Z"}
Send results into your apps (MCP connectors)
Optionally pipe results into the apps you already use through Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape, and it never changes the dataset.
- Authorize a connector once under Apify, Settings, API and Integrations (Notion, Linear, Airtable or Apify).
- Select it in the mcpConnectors field. If the picker is empty, you have not authorized a connector yet.
- For Notion, also set notionParentPageUrl to the URL or id of the page under which item pages are created.
Plan Requirement and Terms Note
The actor uses the Apify proxy with automatic exit rotation; run it on any plan that includes proxy access. The source is a free consumer marketplace: the actor reads the same pages and profiles a visitor reads, and automated reading may sit outside the source's terms of use, so keep volumes reasonable and respect the source's terms.