Freelance Jobs API
Freelance Jobs API
/freelance-jobs/v1/search2 creditsSearch live freelance PROJECTS (not employment jobs) on Freelancer.com by keyword, skills, category, budget/hourly band, freshness, country, language — sorted by recency, bids, or bid-deadline. Returns title, description, budget{type,min,max,currency}, skills[], bids_count, posted_at, client_country, url. No client PII.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| source = freelancer | optional | freelancer · fiverr · upwork · guru · peopleperhour | Freelance marketplace to query (e.g. 'freelancer' for Freelancer.com). Additional marketplaces such as Fiverr, Upwork, Guru, and PeoplePerHour are coming soon — selecting one returns a clear status message. |
| query | optional | — | Keyword to match in project title or description — e.g. 'logo design', 'React developer', or 'mobile app'. Omit to browse the newest projects across all skills. |
| skills | optional | — | Filter to projects requiring these skill IDs (combine with the `skills` action to resolve a skill name → id, e.g. 'PHP'→13). Multiple = OR. |
| category | optional | — | Top-level category SEO slug to scope the search (see the `categories` action for the full list, e.g. 'design-media-architecture'). |
| project_types | optional | fixed · hourly | Restrict to 'fixed' (fixed-price) and/or 'hourly' projects. Omit for both. |
| budget_min | optional | 0– | Minimum average project budget (in the project's own currency) to include. For hourly projects this is the hourly rate floor. |
| budget_max | optional | 0– | Maximum average project budget (project currency). Pair with budget_min for a band. |
| posted_within | optional | 1h · 24h · 3d · 7d · 30d | Only projects posted within this window (server-side from_time filter). Great for a fresh-leads feed. |
| countries | optional | — | Filter by client/project country name(s) (e.g. 'United States', 'United Kingdom'). Multiple = OR. Note: unauthenticated, client identity is not exposed — only the project's listed country is used. |
| languages | optional | — | Filter by the project's language code(s) (ISO-639, e.g. 'en', 'es'). |
| sort = time_updated | optional | time_updated · time_submitted · bid_count · bid_enddate | Result ordering. |
| limit = 30 | optional | 1–100 | How many projects to return (1–100). Use `offset` to page. |
| offset = 0 | optional | 0–5000 | Pagination offset (0–5000); skip this many results before returning `limit`. |
/freelance-jobs/v1/project2 creditsFull detail for one freelance project by numeric id, URL, or SEO slug: everything from `search` plus hourly-commitment, timeframe, qualifications, attachment count, escrow flag. No client PII.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| id | required | — | The project to fetch: a numeric project id (40505996), a project URL (https://www.freelancer.com/projects/<slug>), or the SEO slug itself. |
| source = freelancer | optional | freelancer · fiverr · upwork · guru · peopleperhour | Freelance marketplace to query (e.g. 'freelancer' for Freelancer.com). Additional marketplaces such as Fiverr, Upwork, Guru, and PeoplePerHour are coming soon — selecting one returns a clear status message. |
/freelance-jobs/v1/user2 creditsPUBLIC business profile of a freelancer or employer by username or id: display name, country, role, hourly rate, reputation (rating/reviews/completion/on-time/repeat-hire), skills, membership, badges, registration year. PII (email/phone/legal-name/address) is NEVER returned.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| username | required | — | The freelancer/employer to fetch: a Freelancer username (fmsiddique) or a numeric user id. Returns the PUBLIC business profile only — no email / phone / legal-name / address (those are never returned). |
| source = freelancer | optional | freelancer · fiverr · upwork · guru · peopleperhour | Freelance marketplace to query (e.g. 'freelancer' for Freelancer.com). Additional marketplaces such as Fiverr, Upwork, Guru, and PeoplePerHour are coming soon — selecting one returns a clear status message. |
/freelance-jobs/v1/skills1 creditResolve a skill name to Freelancer skill id(s) (for search's `skills` filter), or list the most-popular skills with their active-project counts. The marketplace's skill taxonomy.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| source = freelancer | optional | freelancer · fiverr · upwork · guru · peopleperhour | Freelance marketplace to query (e.g. 'freelancer' for Freelancer.com). Additional marketplaces such as Fiverr, Upwork, Guru, and PeoplePerHour are coming soon — selecting one returns a clear status message. |
| query | optional | — | Skill name (or fragment) to resolve to Freelancer skill id(s) you can feed to search's `skills` filter (e.g. 'python' → {id:13,name:'PHP'}…). Omit to list the most-popular skills. |
| limit = 60 | optional | 1–200 | Max skills to return (1–200, default 60). |
/freelance-jobs/v1/categories1 creditList the top-level freelance job categories (Websites/IT, Design, Writing, Mobile, …) with their active-project counts — the browse taxonomy for scoping a search.
| Parameter | Allowed / range | Description | |
|---|---|---|---|
| source = freelancer | optional | freelancer · fiverr · upwork · guru · peopleperhour | Freelance marketplace to query (e.g. 'freelancer' for Freelancer.com). Additional marketplaces such as Fiverr, Upwork, Guru, and PeoplePerHour are coming soon — selecting one returns a clear status message. |
curl -X POST https://api.reefapi.com/freelance-jobs/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"query":"python","limit":10}'{
"ok": true,
"data": { /* the result */ },
"meta": {
"latency_ms": 240,
"record_count": 12,
"completeness_pct": 100
},
"error": null
}