Discover/Airtasker API
live

Airtasker APIairtasker.com

Search Airtasker tasks by location, category, and price. Get task details, user profiles, location coordinates, and category listings via 6 structured endpoints.

Endpoint health
verified 6d ago
browse_categories
get_location_suggestions
get_user_profile
search_tasks
get_task_detail
6/6 passing latest checkself-healing
Endpoints
6
Updated
20d ago

What is the Airtasker API?

The Airtasker API provides 6 endpoints for accessing task listings, user profiles, and location data from Airtasker.com. With search_tasks you can query open tasks by latitude/longitude radius, category IDs, price range, and keyword, receiving paginated results that include task summaries, poster profiles, and precise location objects. Additional endpoints cover full task detail, public user profiles, category listings, and two-step location resolution.

Try it
Latitude for location-based search (decimal string)
Longitude for location-based search (decimal string)
Number of tasks per page (max results returned per request)
Search radius in meters from the lat/lon center
Sort order for results
Category IDs to filter by, comma-separated (e.g. '1' for General Cleaning, '57' for Gardening Services). Obtain IDs from browse_categories.
Maximum task budget in AUD
Minimum task budget in AUD
Pagination cursor: ISO 8601 timestamp from meta.latest_result of the previous page
Filter by task type
Keyword to search for in task titles and descriptions
Filter by task state
Display name of the search location
api.parse.bot/scraper/78346169-28d6-472e-b840-44ada671f013/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/78346169-28d6-472e-b840-44ada671f013/search_tasks?lat=-33.8688&lon=151.2093&limit=3&radius=50000&sort_by=posted_asc&carl_ids=1&max_price=9999&min_price=10&task_types=inperson&search_term=cleaning&task_states=posted&location_name=Sydney+NSW' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace airtasker-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

"""Airtasker SDK — find tasks by location and category, drill into details."""
from parse_apis.airtasker_api import Airtasker, Sort, TaskType, ResourceNotFound

client = Airtasker()

# Search for cleaning tasks in Sydney, sorted by newest first.
for task in client.tasks.search(
    search_term="cleaning",
    lat="-33.8688",
    lon="151.2093",
    location_name="Sydney NSW",
    sort_by=Sort.POSTED_DESC,
    task_types=TaskType.BOTH,
    limit=3,
):
    print(task.name, f"${task.price}", task.state)

# Take one task and get its full details.
task = client.tasks.search(search_term="cleaning", limit=1).first()
if task:
    detail = task.refresh()
    print(detail.taskCard, detail.sections)

# Browse all categories (single page).
for cat in client.categories.list(limit=5):
    print(cat.display_name, cat.carl_id)

# Resolve a location name to coordinates.
suggestion = client.locationsuggestions.search(query="Melbourne VIC", limit=1).first()
if suggestion:
    location = client.locations.get(external_id=suggestion.external_id)
    print(location.display_name, location.latitude, location.longitude)

# Typed error handling: attempt to fetch a non-existent profile.
try:
    profile = client.profiles.get(user_id="9999999999")
    print(profile.first_name)
except ResourceNotFound as exc:
    print(f"Profile not found: {exc}")

print("exercised: tasks.search / task.refresh / categories.list / locationsuggestions.search / locations.get / profiles.get")
All endpoints · 6 totalmissing one? ·

Search for tasks with filters on location, category, price range, task type, and keywords. Returns task summaries with poster profiles and location data. Paginates via a time-based cursor (after_time from meta.latest_result). Each page returns up to `limit` tasks; set limit to control page size.

Input
ParamTypeDescription
latstringLatitude for location-based search (decimal string)
lonstringLongitude for location-based search (decimal string)
limitintegerNumber of tasks per page (max results returned per request)
radiusintegerSearch radius in meters from the lat/lon center
sort_bystringSort order for results
carl_idsstringCategory IDs to filter by, comma-separated (e.g. '1' for General Cleaning, '57' for Gardening Services). Obtain IDs from browse_categories.
max_priceintegerMaximum task budget in AUD
min_priceintegerMinimum task budget in AUD
after_timestringPagination cursor: ISO 8601 timestamp from meta.latest_result of the previous page
task_typesstringFilter by task type
search_termstringKeyword to search for in task titles and descriptions
task_statesstringFilter by task state
location_namestringDisplay name of the search location
Response
{
  "type": "object",
  "fields": {
    "meta": "object with total, has_more, latest_result and saved_filters",
    "tasks": "array of task summary objects with id, name, slug, price, state, deadline, location_ids, sender_id, bids_count",
    "total": "integer total number of matching tasks (flattened from meta)",
    "has_more": "boolean indicating if more results are available (flattened from meta)",
    "profiles": "array of user profile summaries for task posters",
    "locations": "array of location objects with id, latitude, longitude, display_name",
    "latest_result": "ISO timestamp cursor for next page (flattened from meta)"
  },
  "sample": {
    "data": {
      "meta": {
        "total": 6,
        "has_more": true,
        "latest_result": "2026-06-11T15:01:15+10:00"
      },
      "tasks": [
        {
          "id": 20353787,
          "name": "Cleaner required",
          "slug": "cleaner-required-x01kttfy06ktyd79ag5ewtkdvah",
          "price": 150,
          "state": "posted",
          "deadline": "2026-07-11T10:00:00+10:00",
          "sender_id": 1355955,
          "bids_count": 2,
          "online_or_phone": true,
          "carl_category_name": "General Cleaning"
        }
      ],
      "total": 6,
      "has_more": true,
      "profiles": [
        {
          "id": 1355955,
          "first_name": "Bryan",
          "average_rating": 5
        }
      ],
      "locations": [
        {
          "id": 257331,
          "latitude": "-32.04",
          "longitude": "115.77",
          "display_name": "White Gum Valley WA"
        }
      ],
      "latest_result": "2026-06-11T15:01:15+10:00"
    },
    "status": "success"
  }
}

About the Airtasker API

Search and Filter Tasks

The search_tasks endpoint accepts up to eight filter parameters: lat and lon define the geographic center, radius sets the search distance in meters, carl_ids (comma-separated) restricts results to specific categories, and min_price/max_price constrain the task budget in AUD. Each response returns a tasks array with fields including id, name, slug, price, state, deadline, bids_count, and location_ids, alongside parallel profiles and locations arrays. Pagination uses the latest_result ISO timestamp cursor from meta; pass it as after_time on the next request to walk through result pages.

Task and User Detail

get_task_detail takes a task_slug (available from search_tasks results) and returns structured sections: a taskCard with title, description, task_info_items, and images; a header with status and action buttons; and an actions object covering share, report, and notification options. get_user_profile accepts a numeric user_id (from the profiles array in search results) and returns profile sections including rating, completion rate, reviews, and location, plus optional sticky_banner and menu_items fields.

Category and Location Resolution

browse_categories returns the complete Airtasker category list in one call — each entry exposes a display_name and a carl_id array that maps directly to the carl_ids filter in search_tasks. For location-based searches, use the two-step flow: get_location_suggestions takes a free-text query (e.g. 'Sydney NSW') and returns suggestion objects with name, source, and external_id; pass that external_id to get_location_details to receive latitude, longitude, and display_name suitable for use in search_tasks.

Reliability & maintenanceVerified

The Airtasker API is a managed, monitored endpoint for airtasker.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when airtasker.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official airtasker.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
6/6 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Aggregate open tasks in a specific city by combining location resolution with search_tasks radius filtering
  • Monitor new tasks in a category (e.g. Gardening Services, carl_id 57) and alert users when budget exceeds a threshold
  • Build a task price benchmarking tool using min_price/max_price filters and bids_count from search results
  • Pull poster reputation data via get_user_profile to surface rating and completion rate alongside task listings
  • Populate a category-browsing UI from browse_categories and map selections to carl_ids for filtered searches
  • Resolve human-readable suburb names to coordinates using get_location_suggestions and get_location_details
  • Track task state changes over time by polling get_task_detail for a set of known slugs
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Airtasker have an official developer API?+
Airtasker does not publish a public developer API. There is no documented REST or GraphQL API available to third-party developers on their website.
How does pagination work in `search_tasks`?+
Results paginate via a time-based cursor. The response includes a latest_result ISO timestamp in meta. Pass that value as after_time on your next request to retrieve the subsequent page. The has_more boolean tells you whether additional pages exist.
What does `get_task_detail` return beyond what `search_tasks` provides?+
search_tasks returns summary fields: id, name, slug, price, state, deadline, and bids_count. get_task_detail adds the full task description, task_info_items, images, action menus, and tabbed sections for offers and questions — data not present in the search response.
Are accepted or completed tasks accessible, or only open ones?+
The search_tasks endpoint returns tasks across states (the state field is included per task), so completed and assigned tasks can appear in results depending on what the source surfaces. However, private task details, direct messages between taskers and posters, and payment or invoicing data are not exposed by any endpoint. You can fork this API on Parse and revise it to add an endpoint targeting a specific task state filter if needed.
Can I retrieve a list of bids or offers on a task?+
The bids_count integer is available in search_tasks results, and get_task_detail includes an offers tab section, but individual bid amounts, bidder identities, and bid timestamps are not returned as structured fields in the current endpoints. You can fork this API on Parse and revise it to add a dedicated bids endpoint exposing that detail.
Page content last updated . Spec covers 6 endpoints from airtasker.com.
Related APIs in MarketplaceSee all →
serviceseeking.com.au API
Search and browse job postings and local service providers across Australia on ServiceSeeking.com.au. View detailed business profiles, ratings, pricing, and explore hundreds of service categories — from tradespeople to home services and beyond.
hipages.com.au API
Search for local service businesses on hipages.com.au, view detailed business profiles and customer reviews, and explore available service categories all in one place. Find the right tradesperson or service provider by browsing ratings, contact information, and customer feedback.
theresanaiforthat.com API
Search and discover AI tools across different tasks, get detailed information about specific tools, browse available deals, and stay updated on the latest tools. Find the perfect AI solution for your needs by filtering by task category or checking featured and trending tools.
seek.com.au API
Search for job listings on SEEK Australia and retrieve detailed information about positions. Browse jobs across any keyword, title, and location, and access full job descriptions, classifications, salary info, and employment details.
getyourguide.com API
Search and browse tours, activities, and experiences on GetYourGuide. Retrieve activity details, reviews, pricing, booking availability, and location autocomplete suggestions.
homeadvisor.com API
Search and discover home service professionals on HomeAdvisor, browse their reviews and project photos, and explore available service categories to find the right contractor for your needs. Get detailed information about specific pros including their expertise, ratings, and past work samples.
job.at API
Search and browse jobs on Austria's job.at platform, view detailed job listings with salary info and company details, and use autocomplete features to refine your search by location and keywords. Discover featured positions, explore job categories, and find related job titles to expand your career opportunities.
peerspace.com API
Search and explore Peerspace venue listings by location and activity type. Retrieve paginated search results with pricing, ratings, capacity, and amenities, then fetch full listing details including equipment, host information, and availability.