Skip to main content

Automate and streamline your Upwork freelancer workflow using the Upwork API.

Project description

BitByteLab Logo

Upwork API Automation Toolkit for Freelancers
Automate and streamline your Upwork freelancer workflow using the Upwork API directly from the terminal.

Release Platforms License Python PyPI

Upwork API Automation Toolkit for Freelancers

This Python package helps Upwork freelancers automate their daily workflows using the official Upwork API. It is designed to boost efficiency and reduce manual effort by providing programmable access to common tasks and events on the platform.

Features:

  • Fetch and display public reviews from your Upwork profile for your personal portfolio
  • Set up real-time alerts for:
    • New messages from clients with active contracts
    • Invitations to interview
    • General inbox messages
  • Periodically scan job posts using custom filter logic and notify you with relevant links
  • Retrieve and monitor personal data such as:
    • Earnings
    • Work diary
  • Automate common actions via the command line

Whether you're an experienced freelancer or just starting out, this tool helps you stay responsive, informed, and efficient โ€” all while remaining compliant with Upworkโ€™s terms of service.


Setup Requirement

  1. Get an API Key from upwork https://www.upwork.com/developer/keys/apply
  2. Set an environment variable export UPWORK_API_KEY=<your-upwork-api-key>
  3. Set an environment variable export UPWORK_API_SECRET=<your-upwork-api-secret>
  4. Install this package from pypi pip install upwork-cli

Usage

upwork-cli or upcli can be used to run this tool from terminal.

use upcli --help to view the available options and commands.


๐Ÿงช Project Structure

๐Ÿ“ upwork-cli/
โ”œโ”€โ”€ ๐Ÿ“ src/
โ”‚   โ””โ”€โ”€ ๐Ÿ“ upwork_cli/
โ”‚       โ”œโ”€โ”€ __init__.py
โ”‚       โ”œโ”€โ”€ __main__.py
โ”‚       โ”œโ”€โ”€ __init__.py
โ”œโ”€โ”€ ๐Ÿ“ examples/
โ”‚   โ””โ”€โ”€ sample_usage.py
โ”œโ”€โ”€ ๐Ÿ“ tests/
โ”‚   โ””โ”€โ”€ test.py
โ”œโ”€โ”€ โš™๏ธ .env
โ”œโ”€โ”€ ๐Ÿšซ .gitignore
โ”œโ”€โ”€ ๐Ÿ“ƒ LICENSE
โ”œโ”€โ”€ ๐Ÿ“ƒ LICENSE.txt
โ”œโ”€โ”€ โš™๏ธ pyproject.toml
โ”œโ”€โ”€ ๐Ÿ“ README.md
โ””โ”€โ”€ โš™๏ธ ruff.toml


๐Ÿ“„ License

Licensed under the MIT License.


๐Ÿค Contributing

  • Open an issue for ideas, bugs, or suggestions.
  • Pull requests are welcome!

๐Ÿ”— Links


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

upwork_cli-0.1.0.tar.gz (61.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

upwork_cli-0.1.0-py3-none-any.whl (11.9 kB view details)

Uploaded Python 3

File details

Details for the file upwork_cli-0.1.0.tar.gz.

File metadata

  • Download URL: upwork_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 61.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for upwork_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 31a536b2ae74dd6c10c55ac5728189ffbfc91f7a3a646dd0d250d0c691dd4e82
MD5 40e7a50197bbf4f04785b8db788684ec
BLAKE2b-256 7fb91787fe28c45054a494db58aecb4ca65d9ba69684e12cf9b0208bc45aeb38

See more details on using hashes here.

File details

Details for the file upwork_cli-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: upwork_cli-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.6

File hashes

Hashes for upwork_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9dca7577d81e513d8690d4338029e60dc248c74571edefc3f81c87d315d35b11
MD5 0795dec4c0c0dbf7e61ee61f1b544e89
BLAKE2b-256 f9783d995ccf2d26eaa3a96a16bcaca62332d288ed244c90cd79ef15a97dca4b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page