Guru.com API & Scraper
The Guru.com API returns live freelance jobs and profiles as clean JSON.
🤖 Using an AI assistant? Copy this link into ChatGPT / Claude / Cursor — it reads every endpoint and parameter instantly and tells you if this API fits your use case.
The primary search endpoint returns projects with id, title, description, type, budget (min, max, currency), skills, category and bid count, and you can pull a project, a user and categories. It is built for freelance tools, market research and lead generation that need Guru.com data without a scraper. One ReefAPI key, one shared credit pool, the standard envelope.
Real request and response JSON
Captured from the indexed primary action, search, on .
{
"method": "POST",
"url": "https://api.reefapi.com/guru/v1/search",
"headers": {
"x-api-key": "$REEF_KEY",
"content-type": "application/json"
},
"body": {
"limit": 8
}
}{
"ok": true,
"meta": {
"api": "guru",
"endpoint": "search",
"mode": "live",
"latency_ms": 1223.6,
"record_count": 8,
"bytes": 215229,
"cache_hit": false,
"pii_redacted": true,
"search_mode": "browse",
"resolved_skill": null,
"stop_reason": "limit_reached",
"charged_credits": 1,
"version": "1.1.0"
},
"data": {
"projects": [
{
"id": "2121022",
"source": "guru",
"title": "WE LOOK FOR A CAR MODELER ! ! ! urgent",
"description": "We need a good car modeler, to design this car, outside, AND inside. PLEASE SEND YOUR REFERENCE, OR SHOW US WHAT YOU ALREADY DID. Cheers",
"preview": "We need a good car modeler, to design this car, outside, AND inside. PLEASE SEND YOUR REFERENCE, OR SHOW US WHAT YOU ALREADY DID. Cheers",
"type": "fixed",
"budget": {
"type": "fixed",
"min": 250,
"max": 250,
"currency": "USD",
"label": "Fixed Price | Under $250"
},
"skills": [
{
"name": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]"
}
],
"category": "Design & Art",
"status": null,
"bids_count": 17,
"posted_at": 1790181386,
"posted_relative": "Posted 5 hrs ago · 17 Quotes Received",
"client_country": null,
"featured": false,
"urgent": false,
"nda": false,
"url": "https://www.guru.com/jobs/we-look-for-a-car-modeler-urgent/2121022",
"seo_url": "/jobs/we-look-for-a-car-modeler-urgent/2121022"
},
{
"id": "2121021",
"source": "guru",
"title": "Finish an incomplete excavator Blend",
"description": "Finish an incomplete excavator Blender model (4.5 only). I have an incomplete excavator model that needs finishing. I have photos of the real life machine and parts that need to be recreated in Blender: Cab, counterweights, fenders.",
"preview": "Finish an incomplete excavator Blender model (4.5 only). I have an incomplete excavator model that needs finishing. I have photos of the real life machine and parts that need to be recreated in Blender: Cab, counterweights, fenders.",
"type": "fixed",
"budget": {
"type": "fixed",
"min": 250,
"max": 250,
"currency": "USD",
"label": "Fixed Price | Under $250"
},
"skills": [
{
"name": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]"
}
],
"category": "Design & Art",
"status": null,
"bids_count": 21,
"posted_at": 1790174186,
"posted_relative": "Posted 7 hrs ago · 21 Quotes Received",
"client_country": null,
"featured": false,
"urgent": false,
"nda": false,
"url": "https://www.guru.com/jobs/finish-an-incomplete-excavator-blend/2121021",
"seo_url": "/jobs/finish-an-incomplete-excavator-blend/2121021"
},
{
"id": "2121019",
"source": "guru",
"title": "Amazon Specialist needed ASAP",
"description": "my reviews have become separated on Amazon and they need to be shared across-the-board like they always were and they’re saying that this below is the problem I need someone that can fix this ASAP so …",
"preview": "my reviews have become separated on Amazon and they need to be shared across-the-board like they always were and they’re saying that this below is the problem I need someone that can fix this ASAP so …",
"type": "fixed",
"budget": {
"type": "fixed",
"min": null,
"max": null,
"currency": null,
"label": "Fixed Price"
},
"skills": [
{
"name": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]"
},
{
"name": "[trimmed-depth]"
}
],
"category": "Programming & Development",
"status": null,
"bids_count": 20,
"posted_at": 1790166986,
"posted_relative": "Posted 9 hrs ago · 20 Quotes Received",
"client_country": null,
"featured": false,
"urgent": false,
"nda": false,
"url": "https://www.guru.com/jobs/amazon-specialist-needed-asap/2121019",
"seo_url": "/jobs/amazon-specialist-needed-asap/2121019"
}
],
"total_count": null,
"returned": 8,
"offset": 0,
"source": "guru",
"search_term": null,
"resolved_skill": null,
"match": null,
"server_side": false,
"note": null
}
}What the Guru.com API does
| Action | Description | Concrete use case | Key params |
|---|---|---|---|
| search | Search live freelance JOBS across the whole Guru.com board. `query` is served SERVER-SIDE via Guru's own skill/keyword path — known skills are canonicalised from the shipped slug dictionary (`nodejs` → `node.js`), unknown terms use Guru's free-text match, and `data.match` reports which. Also browsable by `category`/`skills` and paginated by `offset`. Returns title, description, budget{type,min,max,currency}, skills[], quote count (bids_count), posted date, and url. No client PII. | Recruiting teams call search to search live freelance JOBS across the whole Guru.com board. | query, category, skills, limit, offset |
| project | Full detail for one Guru.com job by URL, slug, or numeric id — title, description, budget{type,min,max,currency}, skills[], employment type, posted date, valid-through, and the job's location requirement (country). No client PII. | Labor-market analysts call project to get full detail for one Guru.com job by URL, slug, or numeric id. | id |
| user | PUBLIC business profile of a Guru.com freelancer/provider by profile URL or handle: display name, headline, country, skills, and rating summary. PII (email/phone/legal-name/address) is NEVER returned. | Job boards call user to get pUBLIC business profile of a Guru.com freelancer/provider by profile URL or handle. | username |
| categories | List the top-level Guru.com freelance job categories (Programming, Design, Writing…) — the browse taxonomy for scoping a `search`. | Sales intelligence teams call categories to list the top-level Guru.com freelance job categories (Programming, Design, Writing…). | none |
Call search from your stack
curl -X POST https://api.reefapi.com/guru/v1/search \
-H "x-api-key: $REEF_KEY" \
-H "content-type: application/json" \
-d '{"limit":8}'import requests
r = requests.post(
"https://api.reefapi.com/guru/v1/search",
headers={"x-api-key": REEF_KEY},
json={
"limit": 8
},
)
print(r.json()["data"])const res = await fetch("https://api.reefapi.com/guru/v1/search", {
method: "POST",
headers: {
"x-api-key": process.env.REEF_KEY,
"content-type": "application/json",
},
body: JSON.stringify({
"limit": 8
}),
});
const { ok, data, meta, error } = await res.json();Ask your MCP-connected assistant: call reefapi.guru.search with {"limit":8}.Who uses this API and why
- Freelance tools call search to surface new Guru projects matching a user's skills.
- Market researchers use categories to size demand and budgets for a service.
- Lead-gen products use project and user to find clients posting relevant work.
Questions developers ask before integrating
What is the Guru.com API?
Guru.com API is a ReefAPI endpoint group for guru.com It returns live JSON through POST requests under /guru/v1.
Is the Guru.com API free to try?
Yes. ReefAPI starts with 1,000 free credits, no card required. Guru.com calls use the same shared credit balance as every other ReefAPI engine.
Do I need a Guru.com login or account?
No login to Guru.com is needed for the API response. You call ReefAPI with your x-api-key header, and the playground can run live examples before you create a production key.
How fresh is the Guru.com data?
The page example is captured from a live search call, and production requests fetch live data through ReefAPI rather than a static sample.
How many credits does the Guru.com API use?
Guru.com actions currently cost 1 credit per successful call. Failed or blocked calls are free. All APIs draw from one credit pool.
Can I call Guru.com from an AI assistant or MCP client?
Yes. Connect ReefAPI once through MCP and your assistant can call guru actions with the same key, credit pool and JSON envelope used by normal REST requests.
Is the Guru.com API a Guru.com scraper?
It is the managed alternative to a DIY Guru.com scraper. Instead of building and maintaining your own scraper — proxies, headless browsers, captcha and constant breakage — you call one ReefAPI endpoint and get the same guru.com back as clean JSON.
Why does my Guru.com scraper keep getting blocked?
Most Guru.com scrapers break on anti-bot defenses, rate limits and IP bans that need rotating residential proxies and browser fingerprinting to clear. ReefAPI handles all of that for you — no proxies, no captchas, no maintenance — and returns live JSON. Blocked calls are free.