UpHunt API

SDKs & Client Libraries

Thin wrappers around the UpHunt REST API in your favorite language.

Official, typed client libraries for Node.js and Python — thin wrappers over the REST API. Prefer raw HTTP? That works everywhere too.

Don't see your language?

The OpenAPI 3.1 spec at /openapi.json works with openapi-generator and speakeasy to produce idiomatic clients in 40+ languages. Run:

npx @openapitools/openapi-generator-cli generate -i https://uphunt.io/openapi.json -g go -o ./uphunt-client

TypeScript

npm package · Source on GitHub

npm install uphunt
# or: pnpm add uphunt / yarn add uphunt / bun add uphunt
import { UpHunt } from 'uphunt'
 
const uphunt = new UpHunt({ apiKey: process.env.UPHUNT_API_KEY })
 
const { queueId } = await uphunt.apply({
  jobId: '~022053140178050136031',
  coverLetter: 'Hi — I would love to help with this project…',
  proposal: { hourlyRate: 65, timeline: '1 to 3 months' },
})
 
const status = await uphunt.status({ queueId })
console.log(status.applicationStatus) // 'processing' | 'applied' | …

Fully typed, ships ESM + CommonJS, and works in Node 18+, edge runtimes, and Bun. Omit apiKey to read UPHUNT_API_KEY from the environment. Every endpoint is available — apply, status, appliedJobs, generateProposal, freelancers, getJob, getClientJobs. Full reference in the README.

Python

PyPI package · Source on GitHub

pip install uphunt
from uphunt import UpHunt
 
client = UpHunt(api_key="...")  # or set UPHUNT_API_KEY in the environment
 
result = client.apply(
    job_id="~022053140178050136031",
    cover_letter="Hi — I'd love to help with this project…",
    proposal={"hourlyRate": 65, "timeline": "1 to 3 months"},
)
print(result["queueId"])
 
print(client.status(queue_id=result["queueId"])["applicationStatus"])

Requires Python 3.9+, fully typed (py.typed). Use it as a context manager (with UpHunt() as client:) to close the connection pool automatically. Every endpoint is available — see the README.

Raw HTTP

Works from any language with an HTTP client:

cURL
curl -X POST https://uphunt.io/api/auto-apply-v2/apply -H "x-api-key: $UPHUNT_API_KEY" -H "Content-Type: application/json" -d '{"jobId":"~01abc123","coverLetter":"..."}'

See the Recipes page for full end-to-end examples in Go, Ruby, and PHP.

On this page