TaskRabbit Scraper - Taskers, Profiles & Company Contacts avatar

TaskRabbit Scraper - Taskers, Profiles & Company Contacts

Pricing

from $2.20 / 1,000 results

Go to Apify Store
TaskRabbit Scraper - Taskers, Profiles & Company Contacts

TaskRabbit Scraper - Taskers, Profiles & Company Contacts

Collect TaskRabbit featured Taskers, public profiles, service catalogs, jobs and company contacts in the US, UK, Canada, France, Germany, Spain, Italy and Portugal. Pay per delivered row plus a start fee; export JSON, CSV or Excel.

Pricing

from $2.20 / 1,000 results

Rating

0.0

(0)

Developer

kane liu

kane liu

Maintained by Community

Actor stats

1

Bookmarked

1

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Features

Limited permissions

Share

TaskRabbit Scraper

Collect TaskRabbit Taskers, service catalogs, jobs and company contacts across eight countries as rows you can export.

  • Featured Tasker names, ratings, review counts and Elite status.
  • Public profiles, service categories and available reviews.
  • City and service catalogs, leadership and careers listings.
  • Published company emails, legal addresses and copyright contacts.
  • Pay only for the rows you receive: $3.00 per 1,000 rows on the Free plan plus a small start fee.

What does TaskRabbit Scraper do?

TaskRabbit Scraper collects public information from TaskRabbit.com and its country sites. It supports the United States, United Kingdom, Canada, France, Germany, Spain, Italy and Portugal. French Canadian catalogs use market: "ca-fr"; featured Taskers there may be unavailable.

  • Featured Taskers: select a city and service, or supply page URLs in detailUrls.
  • Profiles: supply profileSlug for a Tasker row followed by available category and review rows.
  • Catalogs: collect cities, services, service groups or city-service combinations.
  • Company pages: collect company contacts, careers listings or leadership.
  • Optional enrichment: enrichDetails is off by default. With city/service inputs in featured mode, it adds profile details and available category/review rows; featured and crawl can also add a company row if space remains. Featured pages supplied through detailUrls do not receive this enrichment. Each extra row is billed at the same price.

This is an unofficial tool, not affiliated with TaskRabbit. It does not book services or log in.

What data can you extract from TaskRabbit?

Each row represents one entity. Fields vary by kind; the examples below are illustrative.

Common fields

FieldDescriptionExample
idEntity identifierexample-id
kindRow typetasker
nameName or titleJane Doe
urlEntity or source pagehttps://www.taskrabbit.com/locations/chicago/help-moving
marketSelected country siteus

Taskers: kind: "tasker"

FieldDescriptionExample
taskerIdTasker identifierexample-tasker-id
averageRatingFeatured-card rating4.9
reviewsCountFeatured-card review count42
tasksCountReported task count65
eliteElite badge indicatorfalse

Tasker categories: kind: "tasker-category"

FieldDescriptionExample
taskerIdParent Tasker identifierexample-tasker-id
categoryIdService category identifier123
rabbitHourlyRateCentsReported Tasker hourly rate in cents4500
formattedRateSource-formatted price, when present$45

Reviews: kind: "review"

FieldDescriptionExample
taskerIdParent Tasker identifierexample-tasker-id
displayRatingDisplayed review rating5
messageReview textExample review text

Cities: kind: "city"

FieldDescriptionExample
slugCity URL segmentchicago
regionNameRegion heading in the catalogIllinois

Services: kind: "service"

FieldDescriptionExample
slugService URL segmenthelp-moving
groupSlugService group, when presentmoving

City-service entries: kind: "city-service"

FieldDescriptionExample
citySlugCity URL segmentchicago
serviceSlugService URL segmenthelp-moving

Jobs: kind: "job"

FieldDescriptionExample
departmentCareers departmentEngineering
locationTextLocation as publishedRemote

Leadership: kind: "leader"

FieldDescriptionExample
person.nameListed leaderJane Doe
person.roleRole found in the biographyChief Executive Officer
bioBiography excerptExample biography text

Company: kind: "company"

FieldDescriptionExample
phonesPublished company numbers, not Tasker phones[{"value":"+1 555 0100","type":"copyright-dmca"}]
emailsPublished company email addresses[{"value":"name@example.com","type":"press"}]
address.fullPublished company mailing addressExample company mailing address
leadAbsencesExplanations for missing contact fields{}

How to scrape TaskRabbit

  1. Open TaskRabbit Scraper in Apify Console. A free Apify account is enough to try it.
  2. Fill a target such as citySlug, or choose an explicit searchType below.
  3. Set maxResults to 5 for a small first run.
  4. Click Start and wait for completion.
  5. Download the dataset or read its rows through the API.

An empty input {} starts the Chicago help-moving example with at most 3 rows. It still follows the event prices below. With searchType: "auto", filling a target selects its mode automatically. For a different mode, clear unused example fields first.

Use citySlug and serviceSlug, or a featured-page URL in detailUrls. Explicit searchType: "featured" without slugs uses the market's default city and service.

Profiles

Use profileSlug from an existing public profile. The Tasker comes first, followed by available category and review rows within maxResults. These child rows do not require enrichDetails in profile mode.

Services

Choose searchType: "services" for the country's service catalog. No target is required.

Locations

Choose searchType: "locations" for the city catalog. No target is required.

City pages

Choose searchType: "city" and citySlug for that city's service links. An omitted city uses the market default.

Service groups

Fill groupSlug for services within a group, such as moving in the US.

Service landing pages

Fill both groupSlug and serviceSlug for cities listed for that service.

Crawl

Choose searchType: "crawl" to collect featured Taskers across city-service pages. citySlug and serviceSlug can narrow the crawl; maxPages limits featured pages.

Careers

Choose searchType: "careers" for published jobs, departments and location text.

Company

Choose searchType: "company" for one combined company-contact row from the press, privacy, terms and company contact-information pages. Missing pages can leave fields empty.

Press

Choose searchType: "press" for the same combined company-contact row, including published press emails. This does not restrict collection to the press page.

About

Choose searchType: "about" for listed leaders and their biographies.

Privacy

Choose searchType: "privacy" for the same combined company-contact row, including available privacy contacts. This does not restrict collection to the privacy page.

Terms

Choose searchType: "terms" for the same combined company-contact row, including available legal and copyright contacts. This does not restrict collection to the terms page.

What to fill in

FieldWhat to enterDefault
searchTypeauto or a mode described above.auto
citySlugCity URL segment; US example: chicago.Empty; form example chicago
serviceSlugLocal service URL segment; US example: help-moving.Empty; form example help-moving
profileSlugExisting public profile slug.Empty
groupSlugService group URL segment; US example: moving.Empty
detailUrlsList of supported TaskRabbit page URLs. Each URL is an input.Empty
marketus, uk, ca, ca-fr, fr, de, es, it, pt.us
maxResultsMaximum rows delivered and charged per URL or selected target. Above 70, the control plane uses nextCursor for further batches, up to 200 rows per input if the source has enough rows.70; form example 3
enrichDetailsAdd profile details and extra rows for featured city/service inputs, or company information for crawl. Does not enrich featured detailUrls; all rows share the limit.false
maxPagesFeatured-page budget for crawl, from 1 to 50.1

Examples for each mode follow. Replace the illustrative jane-doe profile slug with a real public slug.

Featured Taskers:

{"citySlug":"chicago","serviceSlug":"help-moving","maxResults":5}

Profile:

{"profileSlug":"jane-doe","maxResults":5}

Service catalog:

{"searchType":"services","maxResults":5}

City catalog:

{"searchType":"locations","maxResults":5}

City page:

{"searchType":"city","citySlug":"chicago","maxResults":5}

Service group:

{"groupSlug":"moving","maxResults":5}

Service landing:

{"groupSlug":"moving","serviceSlug":"help-moving","maxResults":5}

Crawl:

{"searchType":"crawl","citySlug":"chicago","maxPages":1,"maxResults":5}

Careers:

{"searchType":"careers","maxResults":5}

Company contacts:

{"searchType":"company","maxResults":1}

Press:

{"searchType":"press","maxResults":1}

Leadership:

{"searchType":"about","maxResults":5}

Privacy:

{"searchType":"privacy","maxResults":1}

Terms:

{"searchType":"terms","maxResults":1}

maxResults is the most rows each detailUrls URL delivers and charges; without URLs, the selected city/service/mode is one input. The default is 70. Above 70, the control plane continues using nextCursor, up to 200 rows per input if the source has enough rows. The run remains subject to your maximum charge and free-plan allowance. maxItems and limit are accepted as the same setting.

  • Target priority is detailUrls, profileSlug, groupSlug, serviceSlug, then citySlug; compatible fields can work together.
  • Close misspellings are corrected; other unknown fields and invalid optional filters are ignored with a note.
  • Invalid targets stop the run with a message such as INVALID_INPUT: detailUrls — detailUrls must be taskrabbit.com (or .co.uk/.ca/.fr/.de/.es/.it/.pt) page URLs. No rows are charged; the start fee can still apply.
  • The INPUT_REPORT record in the run's key-value store lists fields filled, corrected or ignored.

Output example

Illustrative featured Tasker row; the name and identifier are placeholders:

{
"id": "example-tasker-id",
"kind": "tasker",
"name": "Jane Doe",
"taskerId": "example-tasker-id",
"url": "https://www.taskrabbit.com/locations/chicago/help-moving",
"citySlug": "chicago",
"serviceSlug": "help-moving",
"averageRating": 4.9,
"reviewsCount": 42,
"tasksCount": 65,
"elite": false,
"market": "us",
"phones": [],
"emails": []
}

Export the dataset as JSON, CSV, Excel, XML, RSS or an HTML table. Featured-card url values can point to the shared city-service page rather than an individual profile.

Why use this TaskRabbit scraper?

  • Pay per row. Row charges apply to dataset rows, not pages attempted.
  • Partial results. The Actor can deliver partial rows returned before its wait ends. Delivery is not guaranteed after a manual abort or platform timeout; inspect the dataset. Only delivered rows incur row charges.
  • Readable input errors. Validation messages name the field and correction.
  • Missing contacts stay missing. Featured cards do not become invented phone or email leads.
  • Several inputs. detailUrls accepts multiple pages, each with its own row limit.
  • No setup. You do not need a TaskRabbit account, cookies or to set up proxies.

How much does it cost to scrape TaskRabbit?

Pay-per-event pricing has a $0.005 start event plus a price per delivered row. Start events are counted per GB of allocated memory, with a minimum of one; the default 512 MB uses one. Platform usage is included in these prices.

Apify planPrice per rowPrice per 1,000 rows
Free$0.003$3.00
Starter$0.003$3.00
Scale$0.0026$2.60
Business$0.0022$2.20
Platinum$0.002$2.00
Diamond$0.0016$1.60
  • maxResults applies per input: default 70, maximum 200. Larger requests are collected in parts of 70, subject to available rows.
  • Free Apify plan users are limited to 200 rows per run and 10 runs of this Actor.
  • Set Maximum cost per run in the run options (maxTotalChargeUsd in the API) to cap the whole run.
  • Taskers, categories, reviews, catalog entries, jobs, leaders and company rows use the same row price. Empty runs have no row charges, but still incur the start fee.

Example: three URLs delivering five rows each cost 15 × $0.003 + $0.005 = $0.050 on the Free plan at default memory.

What happens when the run timeout is too short

When the selected timeout is too short, an eligible run can pause rather than fail. Its status message says "Queued on the collection backend; this run will resume automatically when results are ready (about N s)." It appears as ABORTED temporarily.

When results are ready, the same run resumes automatically and delivers into the same dataset. A successful delivery finishes as SUCCEEDED. Rows already delivered are skipped so they are not charged twice. Resumed delivery with existing rows can show "Resumed: delivering N rows."

  • Automatic pauses are limited to at most 3 per run. Keep the default 900-second timeout to reduce interruptions.
  • Synchronous endpoints (run-sync, run-sync-get-dataset-items) wait at most 300 seconds and can return an empty dataset while the run is paused. For longer jobs, start asynchronously and read the dataset after SUCCEEDED, or use a success webhook.

Use with AI agents and the API

Apify MCP server (Claude, ChatGPT, Cursor, VS Code)

Add this Actor to a client that supports remote MCP servers:

https://mcp.apify.com?tools=lentic_clockss/taskrabbit-scraper

Sign in with Apify using OAuth, or send Authorization: Bearer <YOUR_APIFY_TOKEN>. The tool returns run and dataset IDs; read rows with get-dataset-items. For clients without remote support, use npx @apify/actors-mcp-server --tools lentic_clockss/taskrabbit-scraper with APIFY_TOKEN.

Example prompt: "Get five featured Taskers for Chicago moving from TaskRabbit. Return names, ratings and review counts."

Apify API

Python:

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("lentic_clockss/taskrabbit-scraper").call(
run_input={"citySlug": "chicago", "serviceSlug": "help-moving", "maxResults": 5}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript:

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('lentic_clockss/taskrabbit-scraper').call({
citySlug: 'chicago', serviceSlug: 'help-moving', maxResults: 5
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Over HTTP, send the JSON input to POST https://api.apify.com/v2/acts/lentic_clockss~taskrabbit-scraper/runs with your token in the Authorization: Bearer header. After completion, read GET https://api.apify.com/v2/datasets/<datasetId>/items?format=json.

Integrations

Use the Actor's Integrations tab for Google Sheets, Make, Zapier, n8n, Slack, Airtable or a webhook. Use Apify Schedules for recurring runs.

FAQ

This Actor reads public information. You are responsible for reviewing TaskRabbit's terms and applicable data-protection law. Processing personal data requires a lawful basis; public visibility alone does not grant unrestricted reuse.

Why did my run end as ABORTED?

An ABORTED status means the run was stopped, for example by a manual abort. It is not a pause that this Actor resumes by itself. Check the status message, log and dataset before deciding whether to start a new run; a new run has its own start fee.

How many results can I get?

Up to 200 rows per input, subject to source availability and your spending cap. Free-plan runs stop at 200 rows overall. Featured panels contain a small selection, not all Taskers in a city.

Why are some fields empty?

Different pages expose different fields. Featured cards lack personal phone, email and street-address data. Check leadAbsences for contact explanations. Company copyright numbers are not Tasker or customer-service numbers.

Do I need a TaskRabbit account?

No. You need an Apify account to run the Actor, but no TaskRabbit login or API key.

Can I search by keyword, postcode or booking availability?

No. Keyword search, near-me forms, booking, hiring, map search, contact forms and login are outside scope, even where legacy choices remain in the input form.

Why did a service slug work in one country but fail elsewhere?

Slugs are local. UK furniture assembly uses assemble-furniture; Germany uses mobelmontage. Select the correct market and inspect its catalogs instead of reusing US slugs.

What if the run returns no rows?

A confirmed search with no matches can finish successfully with an empty dataset. Check RUN_SUMMARY for the reason; failed runs also write ERROR_SUMMARY. Check the country and local slugs before retrying.

Does enrichment guarantee an extra company row?

No. Extra rows use the same limit. Categories and reviews can fill it first, and company collection can fail. Use searchType: "company" when company information is the goal.

Limitations

  • Australia is not supported. French Canadian featured panels may be empty even when catalogs exist.
  • Featured pages are not full Tasker search results and have no ordinary page-by-page pagination.
  • Profile category and review rows depend on what the profile returns; this is not a full review-history export.
  • A missing page or changed page format can produce fewer rows or a failed run.
  • crawl enrichment adds company information, not individual profile enrichment. Featured URLs in detailUrls return cards without optional profile enrichment.
  • Personal contact details are not promised. Published company legal contacts must not be treated as Tasker leads.

More local services and lead generation scrapers from the same publisher:

Browse all of our scrapers at apify.com/lentic_clockss.

Support

Found a problem or need another field? Open an issue in the Issues tab of this Actor's page and include the run ID and the input you used.