API overview

A REST API for the bidding loop, list leads, bid, reject, and attach files.

The Lancer Public API covers the bidding loop for a campaign. It is intentionally small: four endpoints, all scoped to leads within a campaign.

Base URL:  https://api.lancer.app/v1
Auth:      Authorization: Bearer lk_...
Format:    JSON (multipart for file uploads)
EndpointPurpose
GET /campaigns/:campaignId/leadsList jobs matching the campaign's filters, as stable leads with action URLs.
POST /campaigns/:campaignId/leads/:leadId/bidSubmit a proposal for a lead. Supports dry runs and per-bid config overrides.
POST /campaigns/:campaignId/leads/:leadId/rejectMark a lead as rejected so Lancer never bids on it.
POST /campaigns/:campaignId/leads/:leadId/attachmentsUpload files that will be attached to this lead's proposal.

The API is designed around external mode: Lancer pushes matching jobs to your webhook, your system decides, and calls back through these endpoints. But every endpoint also works on standard (automatic) campaigns, for example to bid on a specific lead from a script.

Where things live in the web app

  • API keys: Settings, then Integrations, API keys tab.
  • Webhooks: Settings, then Integrations, Webhooks tab (organization scope) or the campaign's Integrations tab (campaign scope).
  • Activity: every API bid, rejection, and webhook delivery is recorded in the Activity tab, so you can debug integrations without extra logging on your side.

Requirements

  • An active paid subscription. Requests from organizations without one get 401.
  • A campaign. Its saved filters define which jobs GET /leads returns and which jobs fire job.new webhooks.
  • For actual submissions, a connected Upwork bidder account on the campaign.

No published rate limit

There is currently no request rate limit on the Public API. Practical ceilings: list pages are capped at 100 items, JSON bodies at 3 MB, and uploads at 5 files of 25 MB per lead. Be reasonable; sustained abusive traffic may get an explicit limit in the future.

On this page