# Freelancer Project Listings Scraper

> Freelancer Project Listings Scraper is a paid API for AI agents from api.scrapeforagents.tech, paid per call via x402, $0.025/call, status unknown (last checked 2026-10-02).

Scrapes and returns structured project listings from Freelancer.com based on keyword, category, budget, and sort filters

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/freelancer?utm_source=zero.xyz
- Price: $0.025/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-02
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/freelancer-project-listings-scraper-e3638289
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_yBzjvbs22UHL7HPptxmG7

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability freelancer-project-listings-scraper-e3638289 -d '<json body>'
```

Example prompt: Search Freelancer.com for up to 50 fixed-price projects related to 'mobile app development', sorted by highest budget, with a minimum budget of $500 — give me structured data including project names, descriptions, and required skills.

## When to prefer this

Use this endpoint when you need structured, machine-readable data from Freelancer.com project listings without building your own scraper. Ideal for competitive intelligence, lead generation for freelancers, building job aggregation feeds, or monitoring niche project categories. Prefer this over general-purpose web scrapers when you want pre-parsed fields like budgetType, skillIds, and projectDescription specifically from Freelancer.com.

## Known failure modes

- No results found for the given keyword or category — returns empty items array with count 0
- Invalid category slug returns no results or an error
- Rate limiting or blocking by Freelancer.com may cause incomplete results
- startUrl that is not a valid Freelancer public jobs URL causes a failure
- Exceeding maxPages or maxItems limits silently truncates results

## How this service works

Pay-per-call structured web data. Failed or empty runs are not charged.

## Output

Returns a JSON object with a count of matched projects and an array of project records, each containing projectId, projectName, projectDescription, projectDescriptionText, budgetType, skills, skillIds, and skillsInfo fields. Empty or failed runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sortBy": {
   "enum": [
    "relevance",
    "newest",
    "budget"
   ],
   "type": "string",
   "default": "relevance",
   "description": "Use source order, newest source order, or highest maximum USD budget among scanned pages."
  },
  "jobType": {
   "enum": [
    "all",
    "fixed",
    "hourly"
   ],
   "type": "string",
   "default": "all",
   "description": "Include all, fixed price, or hourly projects."
  },
  "keyword": {
   "type": "string",
   "description": "Search phrase in public project listings. Leave empty to browse all."
  },
  "category": {
   "type": "string",
   "description": "Public skill slug such as seo, wordpress, or graphic-design. Can be combined with keyword."
  },
  "maxItems": {
   "type": "integer",
   "default": 100,
   "maximum": 1000,
   "minimum": 1,
   "description": "Stop after this many unique project records."
  },
  "maxPages": {
   "type": "integer",
   "default": 20,
   "maximum": 100,
   "minimum": 1,
   "description": "Scan at most this many 100-project API pages. Budget ordering applies within scanned pages."
  },
  "startUrl": {
   "type": "string",
   "description": "HTTPS public jobs URL. Its category and supported query filters override keyword and category."
  },
  "maxBudget": {
   "type": "integer",
   "minimum": 0,
   "description": "Keep projects whose USD budget range starts at or below this amount."
  },
  "minBudget": {
   "type": "integer",
   "minimum": 0,
   "description": "Keep projects whose USD budget range reaches at least this amount."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "skills": null,
    "skillIds": null,
    "projectId": null,
    "budgetType": null,
    "skillsInfo": null,
    "projectName": null,
    "projectDescription": null,
    "projectDescriptionText": null
   }
  ],
  "product": "freelancer"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/freelancer-project-listings-scraper-e3638289/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.scrapeforagents.tech](https://www.zero.xyz/host/api.scrapeforagents.tech/llms.txt)
