# Upwork Apply

> Scrape Upwork jobs and generate personalized proposals with cover letters. Use when user asks to find Upwork jobs, create Upwork proposals, or apply to Upwork listings.

- **Type:** Skill
- **Install:** `agentstack add skill-aiagentwithdhruv-skills-upwork-apply`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [aiagentwithdhruv](https://agentstack.voostack.com/s/aiagentwithdhruv)
- **Installs:** 0
- **Category:** [Web & Browser](https://agentstack.voostack.com/c/web-and-browser)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [aiagentwithdhruv](https://github.com/aiagentwithdhruv)
- **Source:** https://github.com/aiagentwithdhruv/skills/tree/main/upwork-apply

## Install

```sh
agentstack add skill-aiagentwithdhruv-skills-upwork-apply
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Upwork Job Scraping & Proposal Generation

## Goal
Scrape Upwork job listings and generate personalized proposals with compelling cover letters.

## Scripts
- `./scripts/upwork_apify_scraper.py` - Scrape Upwork jobs via Apify
- `./scripts/upwork_proposal_generator.py` - Generate proposals with Claude
- `./scripts/update_sheet.py` - Save to Google Sheets

## Process

### 1. Scrape Jobs
```bash
python3 ./scripts/upwork_apify_scraper.py \
  --query "AI automation" \
  --limit 50 \
  --output .tmp/upwork_jobs.json
```

### 2. Generate Proposals
```bash
python3 ./scripts/upwork_proposal_generator.py \
  --jobs .tmp/upwork_jobs.json \
  --output .tmp/proposals.json
```

Uses Claude Opus 4.5 for high-quality, personalized cover letters.

### 3. Save to Sheet
```bash
python3 ./scripts/update_sheet.py .tmp/proposals.json --title "Upwork Proposals"
```

## Output
Google Sheet with:
- Job details (title, description, budget, client info)
- Generated proposal/cover letter
- Application link

## Environment
```
APIFY_API_TOKEN=your_token
ANTHROPIC_API_KEY=your_key
```

---

## Schema

### Inputs
| Name | Type | Required | Description |
|------|------|----------|-------------|
| `query` | string | Yes | Search query (e.g., 'AI automation') |
| `limit` | integer | No | Max job listings (default: 50) |

### Outputs
| Name | Type | Description |
|------|------|-------------|
| `sheet_url` | string | Google Sheet with job details + generated proposals |

### Credentials
| Name | Source |
|------|--------|
| `APIFY_API_TOKEN` | .env |
| `ANTHROPIC_API_KEY` | .env |

### Cost
Apify credits + Claude API

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [aiagentwithdhruv](https://github.com/aiagentwithdhruv)
- **Source:** [aiagentwithdhruv/skills](https://github.com/aiagentwithdhruv/skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** yes
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-aiagentwithdhruv-skills-upwork-apply
- Seller: https://agentstack.voostack.com/s/aiagentwithdhruv
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
