Official Upwork API · OAuth only

Ready to send before anyone else has read the post.

Nibwright watches Upwork through its official API and drafts a proposal that names the client's problem the moment a job matches. You paste and press Submit. Upwork has no API for that last step, so it is the only step left.

No browser extensionWe never hold your passwordRead-only access, no write scopes
Live queue
polling every 60s
Next.js + Node dashboard for a logistics SaaS94%

$45–70/hr · United States · posted 41 seconds ago

Matched against: MERN, hourly $45++0.4s
Client screened: $124k spent, 34 hires+1.1s
Proposal drafted from your profile+38s
Ready for you to sendnow

Your shipment table timing out at 40k rows is almost always an unindexed aggregation, not React. The render is fast; the query behind it is not.

How it works

Four steps. Three of them happen without you.

01

Match

We poll the official API on your behalf every 60 seconds and score each posting against your saved search.

02

Screen

Client spend, hire count, payment verification and your exclude list run before a single credit is spent.

03

Draft

Claude writes a diagnosis-first letter from the posting and your synced profile. Median 38 seconds.

04

You send it

One click copies the letter and opens the posting. Upwork has no submit API, so no honest tool can do this part for you.

Where the automation runs

The riskiest tools are the ones that log in as you.

Upwork's policy team names four kinds of tooling it acts on: feed scrapers, auto-refreshers, macro recorders and userscript managers.

Acted on by Upwork

  • Job-feed scrapers
  • Auto-refreshers
  • Macro recorders
  • Userscript managers

Grey zone

  • Extensions and headless browsers that submit from your logged-in tab, the only way auto-submit is technically possible
  • Anything that needs your Upwork password
  • Shared logins for an agency seat

How Nibwright works

  • Server-side polling of Upwork's official GraphQL API
  • OAuth token you granted, revocable in one click
  • You submit on Upwork yourself, from the real apply form
  • Every action written to an audit log you can read

Connects are an ad budget

Every proposal carries its price.

Connects cost $0.15 each and a single application runs 6 to 16 of them, more if you boost. Nibwright tracks what each search actually costs per reply, not just per send.

SearchReply rateCost / reply
MERN, hourly $45+27.3%$4.85
React Native / Expo, fixed ≥ $3k19.0%$8.03
Node API rescue jobs7.1%$16.05
See the analytics view →

$14.99/mo. 1,000 credits. Cancel whenever.

A drafted proposal costs 10 credits. That is 100 proposals a month before you top up.