# FreelancerMap Project Search API

> FreelancerMap Project Search API 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 freelance project listings from FreelancerMap with filters for query, country, category, remote type, and contract type.

## Facts

- Endpoint: POST https://api.scrapeforagents.tech/v1/freelancermap?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/freelancermap-project-search-api-96648ad3
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_KwVLUP-C75v8Ot4WZ9l_7

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 freelancermap-project-search-api-96648ad3 -d '<json body>'
```

Example prompt: Search FreelancerMap for the newest remote Python developer projects in Germany posted in the last 7 days, up to 50 results, and show me the titles, required skills, and descriptions.

## When to prefer this

Use this endpoint when you need structured, machine-readable freelance project data from FreelancerMap specifically, especially when filtering by country, category, remote work preference, or contract type. Prefer this over generic web scrapers when you want clean, schema-consistent output for FreelancerMap listings without building your own scraper. Especially useful for monitoring new projects or building talent/project matching pipelines.

## Known failure modes

- Empty results if no projects match the filters — not charged
- Network or scraping failure if FreelancerMap blocks or changes structure
- Invalid enum value for country/category/remote/contractType returns validation error
- maxResults set to 0 may result in very large or slow responses
- startUrls pointing to non-project pages may return empty or malformed data

## How this service works

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

## Output

A JSON object containing a count of matched projects and an array of project items, each with fields for URL, title, skills, category, industry, project ID, description, and contract type. Failed or empty runs are not billed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "sort": {
   "enum": [
    "newest",
    "relevant"
   ],
   "type": "string",
   "default": "newest",
   "description": "Requested search order."
  },
  "query": {
   "type": "string",
   "default": "",
   "description": "Skill, role, or technology to search for. Leave empty for recent projects."
  },
  "remote": {
   "enum": [
    "",
    "onsite",
    "hybrid",
    "remote"
   ],
   "type": "string",
   "default": "",
   "description": "Keep onsite, partly remote, or fully remote projects based on the stated percentage. Unknown percentages are excluded when this filter is set."
  },
  "country": {
   "enum": [
    "",
    "germany",
    "austria",
    "switzerland",
    "united-kingdom",
    "ireland",
    "netherlands",
    "belgium",
    "france",
    "spain",
    "portugal",
    "italy",
    "poland",
    "czech-republic",
    "romania",
    "sweden",
    "denmark",
    "united-states",
    "canada",
    "india",
    "australia"
   ],
   "type": "string",
   "default": "",
   "description": "Restrict results to one of 20 countries."
  },
  "category": {
   "enum": [
    "",
    "web-and-software-development",
    "engineering",
    "management-and-consulting",
    "digital-marketing",
    "graphic-design-and-creative-services",
    "it-services",
    "finance-and-accounting",
    "research-and-analysis",
    "writing-and-translation"
   ],
   "type": "string",
   "default": "",
   "description": "Restrict results to one project category."
  },
  "startUrls": {
   "type": "array",
   "description": "Project search URLs or individual public project pages. When supplied, these take priority over the keyword and location search."
  },
  "maxDaysOld": {
   "type": "integer",
   "default": 0,
   "minimum": 0,
   "description": "Only include projects posted within this many days. Zero means any age."
  },
  "maxResults": {
   "type": "integer",
   "default": 100,
   "minimum": 0,
   "description": "Maximum project rows to return. Zero explores all available slices."
  },
  "excludeDach": {
   "type": "boolean",
   "default": false,
   "description": "Exclude projects in Germany, Austria, and Switzerland."
  },
  "contractType": {
   "enum": [
    "",
    "contractor",
    "permanent"
   ],
   "type": "string",
   "default": "",
   "description": "Restrict to freelance contracts or permanent positions."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "count": 1,
  "items": [
   {
    "url": null,
    "title": null,
    "skills": null,
    "category": null,
    "industry": null,
    "projectId": null,
    "description": null,
    "contractType": null
   }
  ],
  "product": "freelancermap"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/freelancermap-project-search-api-96648ad3/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)
