Clickworker data API: jobs, wallet, points
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
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/sessionosintExchanges 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.
- 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/renewosintRotates 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/meosintReturns the signed-in worker: identity, currencyCode, payableAmount wallet and paypalEmail payout rail.
Auth: Bearer authToken from POST /v1/clickworker/session.
- userId
- 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/jobsopendataPages 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/mineopendataReturns 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}/takeopendataAccepts 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/walletopenfinancePages 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/invoicesopenfinancePages 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/pointsopendataReturns 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/payoutsopenfinanceLists 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/paypalopenbankingRedeems 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/historyopendataPages 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}osintReturns 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/nearbyopendataReturns 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