Can you connect Upwork to a CRM with the API?

Yes. You apply for API access, create an OAuth 2.0 key with a callback URL, and authorize the CRM once.

An admin approves every new account by hand. Nothing is created until then. We reply by email; no newsletter, no sequence.

app.salescrew.io/inbox
The unified reply inbox with classified threads

The short answer

  • You can connect Upwork to a CRM through the official Upwork API: apply for API access at upwork.com/developer/keys/apply, create an OAuth 2.0 key with the CRM's callback URL, then authorize the CRM once from your Upwork login.
  • Upwork API access is reviewed rather than open: Upwork approves each key application, and approval can take a few days.
  • A CRM that tracks bids needs read access to jobs, proposals and messages on the Upwork API key.
  • SalesCrew's Upwork module is built on the Upwork API: saved searches feed a gated job list, proposals and outcomes are recorded, and credentials sit in the instance's Supabase Vault.

Why people think the Upwork API is closed

You'll often read that Upwork API access is restricted. It's more accurate to say it's reviewed. You apply, Upwork approves the key, and then you create keys in your own account. The wait is days, not months.

The review is the step most guides skip, so teams start building before they have a key. Apply first. While you wait, decide which jobs you want in the feed and how you'll record outcomes, because those choices shape the whole setup.

Connect Upwork to SalesCrew in 5 steps

From SalesCrew's Upwork API key guide.

  1. 1

    Apply for API access

    Request access at upwork.com/developer/keys/apply with the Upwork account that owns your agency or profiles.

  2. 2

    Create an OAuth 2.0 key

    Name the project, set the callback URL to your workspace, and grant read access to jobs, proposals and messages.

  3. 3

    Store the id and secret

    The client id and secret go into your instance's Supabase Vault as secrets, never into the browser.

  4. 4

    Authorize once

    Open Settings, then Upwork API, sign in to Upwork and allow access. Paste the returned code if the page asks for it.

  5. 5

    Add your profiles and searches

    Add profiles under Channels and profiles, then create a saved search so the job feed fills.

What the API connection gives a CRM

The parts of the SalesCrew Upwork module that run on the Upwork API.

PartWhat runsMCP tool
Saved searchesSearches you'd type on Upwork, run on a scheduleupwork_search_create, upwork_search_test
Feed gateClient spend, hire rate, category and budget thresholds filter jobsupwork_search_update
Proposal recordEach proposal tied to its job and the profile that sent itupwork_record_proposal
Propose via approvalA person starts it; the submit waits in the approval queueupwork_proposal_propose
Client recordsClients built from what the Upwork API returnsupwork_client_get

Tool names read from the SalesCrew MCP server; setup from SalesCrew's Upwork API key guide, September 2026.

What SalesCrew adds on top of the raw API

A raw API key gives you data. SalesCrew turns it into a sales channel. Jobs that pass your gate land in a feed, a job becomes a deal without needing a company name, and outcomes are written back so win rate by profile is a query. Every step is one of 140+ MCP tools, so Claude or ChatGPT can run the same work.

The Upwork API key guide walks through each screen. The Upwork module comes with the Agency tier at $1,200 a month, with unlimited seats, listed on the pricing page.

The API does not change Upwork's rules

Reading your jobs through the API is record keeping. Contacting a client outside the platform is a separate matter: Upwork's Terms of Use contain a non-circumvention clause, so read them at upwork.com/legal before you move a relationship off Upwork.

Questions

Is the Upwork API open to anyone?
You apply for access first. Upwork reviews each API key application at upwork.com/developer/keys/apply, and approval can take a few days. Once approved, you create keys in your own Upwork account.
What permissions does a CRM need on the Upwork API?
For a job feed and proposal tracking, the key needs read access to jobs, proposals and messages. SalesCrew's setup guide asks for exactly those. Ask for no more than the workflow uses.
Can I connect Upwork to a CRM with Zapier instead of the API?
A no-code link only moves the events its connector exposes, and each step runs on its own. A CRM built on the Upwork API can run saved searches on a schedule, record outcomes against each job and keep client records in sync. Pick the route that matches how much of your pipeline comes from Upwork.
Where are my Upwork API credentials stored in SalesCrew?
In your instance's Supabase Vault. The client id and secret are stored as secrets on the server, never in the browser, and they are not shown again after entry.