Clickworker icon

Clickworker data API: jobs, wallet, points

clickworker GmbH · Jobs & Careers 4.0 ★

Clickworker is clickworker GmbH's official Android client for its crowd of freelance microtaskers who photograph products, annotate images, record audio, fill surveys and write short copy for AI-training and market-research buyers. After an email-and-password (or social) sign-in, a worker browses available jobs, accepts a node, submits the form, watches a wallet of payable earnings, cashes out via PayPal, Payoneer or Tremendous, and tracks activity-point badges. clickworker GmbH sits at Theodor-Althoff-Str. 41, 45133 Essen, Germany; the Play listing is rated 4.0 from about 77,000 reviews with 5 million-plus downloads. It is a paid-task crowd app rather than a vacancy board, sitting next to Fiverr and Upwork as a freelancer marketplace and next to survey walls such as BitLabs.

Accepted nodes carry a nodeConfig with jobTypeSlug and detailedPaymentInfo (amount, currency). The wallet cartouche is payableAmount against lifetime totalAmount; ledger rows key on bookingType, payStatus and taskId. Activity points sit as another totalAmount with a history list, cashed out through a provider option. Invoices add number and sumAfterTax; the public card is username plus languageKnowledges.

Freelancer bookkeepers pull the same wallet and invoice rows the Essen crowd already sees; worker bots watch jobTypeSlug and timeLeft; map overlays plot isLocationRelated pins — openData Studio turns that microtask loop into callable open data.

Screenshots

  • Clickworker screenshot 1
  • Clickworker screenshot 2
  • Clickworker screenshot 3
  • Clickworker screenshot 4
  • Clickworker screenshot 5
  • Clickworker screenshot 6
  • Clickworker screenshot 7
  • Clickworker screenshot 8

API surface

The endpoints and request/response examples below are reconstructed from the app's interface — illustrative, not a live capture.

  • Sign in for auth token

    POST /v1/clickworker/session osint

    Exchanges email plus password for the authToken that gates later job, wallet and payout calls.

    Auth: Unauthenticated. Body is email plus password. The returned authToken is sent as Authorization: Bearer on later calls; refreshToken renews the session via POST /v1/clickworker/session/renew.

    • email
    • password
    • authToken
    • refreshToken
    • user
    • id
    POST /v1/clickworker/session HTTP/1.1
    Content-Type: application/json
    
    {
      "email": "[email protected]",
      "password": "secret"
    }
    {
      "authToken": "eyJhbGciOi...",
      "refreshToken": "rt-9f3a",
      "user": {
        "id": 48721467,
        "email": "[email protected]"
      }
    }
  • Refresh auth token

    POST /v1/clickworker/session/renew osint

    Rotates authToken from a stored refreshToken.

    Auth: Unauthenticated. Body is the refreshToken from POST /v1/clickworker/session.

    • refreshToken
    • authToken
    POST /v1/clickworker/session/renew HTTP/1.1
    Content-Type: application/json
    
    {
      "refreshToken": "rt-9f3a"
    }
    {
      "authToken": "eyJhbGciOi...",
      "refreshToken": "rt-next"
    }
  • Signed-in worker profile

    GET /v1/clickworker/me osint

    Returns the signed-in worker: identity, currencyCode, payableAmount wallet and paypalEmail payout rail.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • userId
    • email
    • firstname
    • lastname
    • login
    • nickname
    • currencyCode
    • payableAmount
    • totalAmount
    • paypalEmail
    GET /v1/clickworker/me HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "userId": 48721467,
      "email": "[email protected]",
      "firstname": "Paul",
      "lastname": "Smith",
      "login": "paul.smith",
      "nickname": "PaulS",
      "currencyCode": "EUR",
      "payableAmount": 42.5,
      "totalAmount": 1280.0,
      "paypalEmail": "[email protected]"
    }
  • List available jobs

    GET /v1/clickworker/jobs opendata

    Pages available nodeConfig jobs with jobTypeSlug and detailedPaymentInfo.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • items
    • id
    • jobTypeSlug
    • title
    • paymentDueDays
    • estimatedWorkingTime
    • isLocationRelated
    • detailedPaymentInfo
    • amount
    • currency
    • precision
    • variablePricing
    GET /v1/clickworker/jobs HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "items": [{
        "id": 1695921,
        "jobTypeSlug": "photo_capturing",
        "title": "Show us your dining area",
        "paymentDueDays": 7,
        "estimatedWorkingTime": 10,
        "isLocationRelated": false,
        "detailedPaymentInfo": {
          "amount": 2.5,
          "currency": "EUR",
          "precision": 2,
          "variablePricing": false
        }
      }]
    }
  • List assigned jobs

    GET /v1/clickworker/jobs/mine opendata

    Returns jobs the worker has already accepted, with state, deadline and timeLeft.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • items
    • id
    • state
    • taskTopic
    • assignedAt
    • deadline
    • timeLeft
    GET /v1/clickworker/jobs/mine HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "items": [{
        "id": 9001001,
        "state": "ASSIGNED",
        "taskTopic": "dining_area",
        "assignedAt": "2026-10-02T09:14:00Z",
        "deadline": "2026-10-02T17:14:00Z",
        "timeLeft": 28800
      }]
    }
  • Accept a job node

    POST /v1/clickworker/jobs/{nodeConfigId}/take opendata

    Accepts a nodeConfig and returns the assigned job id, state and deadline.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • nodeConfigId
    • id
    • state
    • assignedAt
    • deadline
    POST /v1/clickworker/jobs/1695921/take HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "nodeConfigId": 1695921
    }
    {
      "id": 9001001,
      "state": "ASSIGNED",
      "assignedAt": "2026-10-02T09:14:00Z",
      "deadline": "2026-10-02T17:14:00Z"
    }
  • Wallet ledger

    GET /v1/clickworker/wallet openfinance

    Pages AccountEntry rows: bookingType, payStatus, amount and nodeConfigTitle.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • items
    • id
    • bookingType
    • payStatus
    • taskId
    • amount
    • currency
    • bookingText
    • nodeConfigTitle
    • valueDate
    GET /v1/clickworker/wallet HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "items": [{
        "id": 44102,
        "bookingType": "JOB",
        "payStatus": "PAID",
        "taskId": 9001001,
        "amount": 2.5,
        "currency": "EUR",
        "bookingText": "photo_capturing",
        "nodeConfigTitle": "Show us your dining area",
        "valueDate": "2026-10-02"
      }]
    }
  • List invoices

    GET /v1/clickworker/invoices openfinance

    Pages invoices keyed by number with sumAfterTax and paidAt.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • items
    • id
    • number
    • sumAfterTax
    • currency
    • createdAt
    • paidAt
    • downloadFilename
    GET /v1/clickworker/invoices HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "items": [{
        "id": 8801,
        "number": "INV-2026-8801",
        "sumAfterTax": 42.5,
        "currency": "EUR",
        "createdAt": "2026-10-01T12:00:00Z",
        "paidAt": null,
        "downloadFilename": "INV-2026-8801.pdf"
      }]
    }
  • Activity points

    GET /v1/clickworker/points opendata

    Returns the activity-points cartouche: totalAmount plus history rows.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • totalAmount
    • history
    • id
    • amount
    GET /v1/clickworker/points HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "totalAmount": 1250,
      "history": [{
        "id": 12,
        "amount": 50
      }]
    }
  • Payout options

    GET /v1/clickworker/payouts openfinance

    Lists redeemable payout options with amount, activityPoints and provider.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • items
    • id
    • name
    • amount
    • activityPoints
    • category
    • provider
    GET /v1/clickworker/payouts HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "items": [{
        "id": "paypal-5",
        "name": "PayPal 5 EUR",
        "amount": 5.0,
        "activityPoints": 500,
        "category": "CASH",
        "provider": "PAYPAL"
      }]
    }
  • Cash out via PayPal

    POST /v1/clickworker/payouts/paypal openbanking

    Redeems activityPoints into a PayPal cash-out of the matching PayoutOption.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • id
    • activityPoints
    • status
    • message
    POST /v1/clickworker/payouts/paypal HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Content-Type: application/json
    
    {
      "id": "paypal-5",
      "activityPoints": 500
    }
    {
      "status": true,
      "message": "queued"
    }
  • Work history

    GET /v1/clickworker/history opendata

    Pages completed jobs with state, ratings and comments.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • items
    • id
    • title
    • state
    • ratings
    • comments
    GET /v1/clickworker/history HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "items": [{
        "id": 9001001,
        "title": "Show us your dining area",
        "state": "ACCEPTED",
        "ratings": [],
        "comments": ""
      }]
    }
  • Public worker profile

    GET /v1/clickworker/profiles/{userId} osint

    Returns the public worker profile: username, about, hobbies and languageKnowledges.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • userId
    • username
    • about
    • hobbies
    • knowHows
    • languageKnowledges
    • knowledge_level
    • language
    GET /v1/clickworker/profiles/48721467 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "userId": 48721467,
      "username": "Paul Smith",
      "about": "I like to do fun surveys",
      "hobbies": [],
      "knowHows": [],
      "languageKnowledges": [{
        "knowledge_level": 1,
        "language": "en"
      }]
    }
  • Nearby location jobs

    GET /v1/clickworker/jobs/nearby opendata

    Returns location-related jobs near lat/lng for the map tab.

    Auth: Bearer authToken from POST /v1/clickworker/session.

    • lat
    • lng
    • items
    • id
    • jobTypeSlug
    • isLocationRelated
    • title
    GET /v1/clickworker/jobs/nearby?lat=51.4508&lng=7.0131 HTTP/1.1
    Authorization: Bearer eyJhbGciOi...
    Accept: application/json
    {
      "items": [{
        "id": 17001,
        "jobTypeSlug": "photo_capturing",
        "isLocationRelated": true,
        "title": "Photograph this storefront"
      }]
    }

Data categories

  • crowdwork jobs
  • wallet ledger
  • invoices
  • activity points
  • payouts
  • worker profile
  • location jobs
  • auth-sessions

Where teams use this data

  • Crowd-earnings into an ERP

    A freelancer bookkeeper polls GET /v1/clickworker/me (payableAmount) and GET /v1/clickworker/wallet (bookingType, payStatus, amount) so each taskId lands in the same ledger as GET /v1/clickworker/invoices (sumAfterTax).

  • Job-feed overlay for a worker bot

    A helper reads GET /v1/clickworker/jobs (jobTypeSlug, detailedPaymentInfo) and POST /v1/clickworker/jobs/{nodeConfigId}/take, then watches GET /v1/clickworker/jobs/mine for deadline and timeLeft.

  • Points-to-PayPal reconciliation

    A wallet job joins GET /v1/clickworker/points (totalAmount) with GET /v1/clickworker/payouts (provider, activityPoints) before POST /v1/clickworker/payouts/paypal.

  • Field-task map overlay

    A map overlay plots GET /v1/clickworker/jobs/nearby (isLocationRelated) so a worker can pick photo-capturing nodes around a lat/lng.

Frequently asked questions

How does Clickworker authenticate API calls?

POST /v1/clickworker/session exchanges email plus password for authToken, refreshToken and a user id. POST /v1/clickworker/session/renew rotates authToken from refreshToken. Later calls send Authorization: Bearer with that authToken.

Which endpoints expose jobs, wallet and invoices?

GET /v1/clickworker/jobs returns nodeConfig rows with jobTypeSlug and detailedPaymentInfo. GET /v1/clickworker/jobs/mine lists assigned state, deadline and timeLeft. GET /v1/clickworker/wallet pages bookingType, payStatus and amount. GET /v1/clickworker/invoices lists number and sumAfterTax.

What payout fields are returned?

GET /v1/clickworker/me returns payableAmount, totalAmount and paypalEmail. GET /v1/clickworker/points returns totalAmount plus history. GET /v1/clickworker/payouts lists provider options. POST /v1/clickworker/payouts/paypal redeems activityPoints.

Does the API cover the public profile and nearby jobs?

Yes. GET /v1/clickworker/profiles/{userId} returns username, about, hobbies and languageKnowledges. GET /v1/clickworker/jobs/nearby returns isLocationRelated jobs for a lat/lng.

Apps similar to Clickworker

  • Fiverr - Freelance Service — Fiverr is a gig marketplace where freelancers sell packaged services; Clickworker instead pays a crowd per microtask from a buyer-posted node.
  • Upwork — Upwork is a long-form freelance marketplace (proposals, contracts, hourly); Clickworker is short paid tasks with a wallet and activity points.
  • Amazon Mechanical Turk — Mechanical Turk is Amazon's classic microtask crowd, the US-side analogue of Clickworker's Essen-run photo, survey and annotation jobs.
  • Appen — Appen (and Figure Eight / CrowdFlower heritage) is an AI-training crowd platform overlapping Clickworker's annotation and data-collection jobs.
  • Toloka — Toloka is a crowdsourcing platform for labeling and surveys, a private-crowd alternative to Clickworker's workplace.
  • Prolific — Prolific is an academic-survey panel that pays participants per study, overlapping Clickworker's survey-wall and shorties flow.
  • LinkedIn: Community & Network — LinkedIn is the professional-network job board a Clickworker also uses to find longer gigs alongside microtasks.

Topics

  • clickworker api
  • crowdwork data api
  • payableAmount nodeConfig
  • clickworker wallet ledger
  • activity points paypal
  • essen microtask api
  • clickworker invoices
  • germany freelancer api

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote