{
  "openapi": "3.0.1",
  "info": {
    "title": "Freelancermap IT Projects & Freelancer Finder",
    "description": "Search freelancermap.com IT freelance projects and freelancer profiles by category, workplace type, contract type, location, and skills, or fetch full detail by URL.",
    "version": "1.0",
    "x-build-id": "rh3yK2XvhPq0FCUT8"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/xyrelith-data~freelancermap-it-projects-and-freelancer-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-xyrelith-data-freelancermap-it-projects-and-freelancer-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/acts/xyrelith-data~freelancermap-it-projects-and-freelancer-finder/runs": {
      "post": {
        "operationId": "runs-sync-xyrelith-data-freelancermap-it-projects-and-freelancer-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor and returns information about the initiated run in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/runsResponseSchema"
                }
              }
            }
          }
        }
      }
    },
    "/acts/xyrelith-data~freelancermap-it-projects-and-freelancer-finder/run-sync": {
      "post": {
        "operationId": "run-sync-xyrelith-data-freelancermap-it-projects-and-freelancer-finder",
        "x-openai-isConsequential": false,
        "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
        "tags": [
          "Run Actor"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/inputSchema"
              }
            }
          }
        },
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            },
            "description": "Enter your Apify token here"
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "inputSchema": {
        "type": "object",
        "required": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "projectSearch",
              "freelancerSearch",
              "projectDetail",
              "freelancerProfile"
            ],
            "type": "string",
            "description": "What to fetch.",
            "default": "projectSearch"
          },
          "searchQueries": {
            "title": "Search queries",
            "type": "array",
            "description": "One or more keywords, job titles or technologies. Each query is searched separately and its results are merged (mode=projectSearch/freelancerSearch).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Search or detail URLs",
            "type": "array",
            "description": "Optional freelancermap search URLs (filters in the URL are copied) or direct project/profile URLs, as {\"url\": \"...\"} entries. Direct detail URLs are emitted as detail records (mode=projectSearch/freelancerSearch).",
            "default": [],
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "category": {
            "title": "Category",
            "enum": [
              "",
              "web-and-software-development",
              "engineering",
              "graphic-design-and-creative-services",
              "management-and-consulting",
              "digital-marketing",
              "writing-and-translation-services",
              "finance-and-accounting",
              "research-and-analysis",
              "it-services"
            ],
            "type": "string",
            "description": "Restrict results to one of freelancermap's professional fields (mode=projectSearch/freelancerSearch).",
            "default": ""
          },
          "country": {
            "title": "Country",
            "enum": [
              "",
              "1",
              "2",
              "3",
              "4",
              "5",
              "6",
              "7",
              "8",
              "10",
              "11",
              "12",
              "13",
              "14",
              "15",
              "27",
              "28",
              "29",
              "30",
              "31",
              "32",
              "33",
              "34",
              "35",
              "36",
              "37",
              "38",
              "39",
              "40",
              "41",
              "42",
              "43",
              "44",
              "45",
              "46",
              "49",
              "50",
              "51",
              "52",
              "54",
              "55",
              "56",
              "58",
              "59",
              "60",
              "62",
              "63",
              "64",
              "66",
              "67",
              "68",
              "69",
              "70",
              "71",
              "72",
              "73",
              "74",
              "76",
              "77",
              "78",
              "80",
              "81",
              "82",
              "83",
              "84",
              "85",
              "86",
              "87",
              "88",
              "89",
              "90",
              "91",
              "93",
              "94",
              "95",
              "96",
              "97",
              "98",
              "99",
              "100",
              "101",
              "102",
              "103",
              "104",
              "106",
              "107",
              "108",
              "110",
              "111",
              "112",
              "113",
              "114",
              "115",
              "116",
              "117",
              "118",
              "119",
              "120",
              "122",
              "123",
              "124",
              "126",
              "128",
              "129",
              "130",
              "131",
              "133",
              "134",
              "135",
              "139",
              "141",
              "142",
              "143",
              "145",
              "147",
              "148",
              "149",
              "150",
              "151",
              "152",
              "153",
              "154",
              "155",
              "156",
              "157",
              "158",
              "159",
              "160",
              "161",
              "162",
              "163",
              "164",
              "165",
              "166",
              "167",
              "168",
              "169",
              "170",
              "171",
              "172",
              "173",
              "174",
              "175",
              "176",
              "177",
              "178",
              "179",
              "180",
              "181",
              "182",
              "183",
              "184",
              "185",
              "186",
              "187",
              "188",
              "189",
              "190",
              "191",
              "192",
              "193",
              "194",
              "196",
              "197",
              "198",
              "199"
            ],
            "type": "string",
            "description": "Restrict projects or freelancers to a country (mode=projectSearch/freelancerSearch).",
            "default": ""
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City name, e.g. Berlin, London or Dublin (mode=projectSearch/freelancerSearch). Combine with radiusKm for a wider catchment area.",
            "default": ""
          },
          "radiusKm": {
            "title": "Radius around city (km)",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Search radius around the city (mode=projectSearch/freelancerSearch). Only used together with city."
          },
          "industry": {
            "title": "Client industry",
            "enum": [
              "",
              "24",
              "1",
              "9",
              "7",
              "8",
              "2",
              "10",
              "14",
              "3",
              "22",
              "6",
              "12",
              "18",
              "21",
              "5",
              "11",
              "23",
              "13",
              "16",
              "20"
            ],
            "type": "string",
            "description": "Restrict projects to a client industry (mode=projectSearch).",
            "default": ""
          },
          "remoteType": {
            "title": "Workplace type",
            "enum": [
              "",
              "onsite",
              "hybrid",
              "remote"
            ],
            "type": "string",
            "description": "On-site, hybrid (any partial remote share) or fully remote projects (mode=projectSearch).",
            "default": ""
          },
          "contractType": {
            "title": "Contract type",
            "enum": [
              "",
              "contracting",
              "permanent_position",
              "employee_leasing"
            ],
            "type": "string",
            "description": "Freelance, permanent-position or agency/employee-leasing projects (mode=projectSearch).",
            "default": ""
          },
          "sortBy": {
            "title": "Sort order",
            "enum": [
              "newest",
              "relevant",
              "recentlyUpdated",
              "lowestRate"
            ],
            "type": "string",
            "description": "Result ordering. Recently-updated and lowest-rate sorting apply to freelancer profiles; projects fall back to newest (mode=projectSearch/freelancerSearch).",
            "default": "newest"
          },
          "postedWithinDays": {
            "title": "Posted within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Only projects published within this many days (mode=projectSearch)."
          },
          "afterProjectId": {
            "title": "Only projects newer than ID",
            "minimum": 1,
            "type": "integer",
            "description": "Keep only projects whose freelancermap project ID is greater than this value, for incremental runs (mode=projectSearch)."
          },
          "endClientOnly": {
            "title": "Direct end-client projects only",
            "type": "boolean",
            "description": "Only projects posted directly by the hiring company, excluding agency reposts (mode=projectSearch).",
            "default": false
          },
          "includeDachRegion": {
            "title": "Include Germany, Austria and Switzerland",
            "type": "boolean",
            "description": "Include the much larger Germany/Austria/Switzerland pool that freelancermap hides from its default international view (mode=projectSearch/freelancerSearch).",
            "default": false
          },
          "technologySlug": {
            "title": "Skill or technology",
            "type": "string",
            "description": "A freelancermap skill tag slug, e.g. python-programming-language, sap-hana or amazon-web-services (mode=projectSearch/freelancerSearch). A full /projects/<slug> URL is also accepted.",
            "default": ""
          },
          "minDurationMonths": {
            "title": "Minimum project duration (months)",
            "minimum": 0,
            "maximum": 120,
            "type": "integer",
            "description": "Drop projects whose disclosed duration is shorter than this. Projects without a duration are kept (mode=projectSearch)."
          },
          "language": {
            "title": "Spoken language",
            "enum": [
              "",
              "35",
              "33",
              "1",
              "30",
              "41",
              "40",
              "2",
              "3",
              "32",
              "23",
              "4",
              "13",
              "7",
              "6",
              "8",
              "37",
              "5",
              "9",
              "27",
              "10",
              "26",
              "11",
              "12",
              "39",
              "36",
              "28",
              "29",
              "14",
              "15",
              "16",
              "17",
              "18",
              "19",
              "31",
              "34",
              "21",
              "43",
              "22",
              "20",
              "38",
              "42",
              "24",
              "25"
            ],
            "type": "string",
            "description": "Only freelancers who list this language (mode=freelancerSearch).",
            "default": ""
          },
          "maxHourlyRate": {
            "title": "Maximum hourly rate",
            "minimum": 1,
            "maximum": 2000,
            "type": "integer",
            "description": "Only freelancers quoting at or below this hourly rate, in their own currency (mode=freelancerSearch)."
          },
          "maxDailyRate": {
            "title": "Maximum daily rate",
            "minimum": 1,
            "maximum": 20000,
            "type": "integer",
            "description": "Only freelancers quoting at or below this daily rate, in their own currency (mode=freelancerSearch)."
          },
          "updatedWithinDays": {
            "title": "Profile updated within (days)",
            "minimum": 1,
            "maximum": 365,
            "type": "integer",
            "description": "Only freelancer profiles updated within this many days (mode=freelancerSearch)."
          },
          "minAvailabilityPercent": {
            "title": "Minimum availability (%)",
            "minimum": 1,
            "maximum": 100,
            "type": "integer",
            "description": "Only freelancers who report at least this much availability (mode=freelancerSearch)."
          },
          "hasAttachmentsOnly": {
            "title": "Only profiles with a CV or portfolio file",
            "type": "boolean",
            "description": "Only freelancers who uploaded a CV/portfolio attachment (mode=freelancerSearch).",
            "default": false
          },
          "openToPermanentJobs": {
            "title": "Only freelancers open to permanent positions",
            "type": "boolean",
            "description": "Only freelancers open to permanent-position offers (mode=freelancerSearch).",
            "default": false
          },
          "openToAgencyContract": {
            "title": "Only freelancers open to agency contracts",
            "type": "boolean",
            "description": "Only freelancers open to agency/employee-leasing contracts (mode=freelancerSearch).",
            "default": false
          },
          "excludeUnavailable": {
            "title": "Exclude fully unavailable freelancers",
            "type": "boolean",
            "description": "Drop freelancers marked fully unavailable (mode=freelancerSearch).",
            "default": false
          },
          "recentlyActiveOnly": {
            "title": "Only recently active profiles",
            "type": "boolean",
            "description": "Only freelancers whose profiles were updated recently (mode=freelancerSearch).",
            "default": false
          },
          "requireDisplayedName": {
            "title": "Only freelancers with a public name",
            "type": "boolean",
            "description": "Skip profiles that hide the freelancer's name (mode=freelancerSearch).",
            "default": false
          },
          "verifiedOnly": {
            "title": "Only verified profiles",
            "type": "boolean",
            "description": "Only profiles marked verified by freelancermap (mode=freelancerSearch/freelancerProfile).",
            "default": false
          },
          "includeDetails": {
            "title": "Fetch full detail for each result",
            "type": "boolean",
            "description": "Enrich every search result with its detail page (full description, skills, budget, rate, history and contact block). Turn off for the fastest, cheapest runs (mode=projectSearch/freelancerSearch).",
            "default": true
          },
          "projectSlugsOrUrls": {
            "title": "Project URLs or slugs",
            "type": "array",
            "description": "Project URLs or slugs to fetch (mode=projectDetail).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "profileSlugsOrUrls": {
            "title": "Freelancer profile URLs or slugs",
            "type": "array",
            "description": "Freelancer profile URLs or slugs to fetch (mode=freelancerProfile).",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "minExperienceYears": {
            "title": "Minimum years of experience",
            "minimum": 0,
            "maximum": 60,
            "type": "integer",
            "description": "Drop freelancer profiles with fewer disclosed years of experience. Profiles without the field are kept (mode=freelancerProfile)."
          },
          "availableOnly": {
            "title": "Only currently available freelancers",
            "type": "boolean",
            "description": "Only emit profiles marked fully available (mode=freelancerProfile).",
            "default": false
          },
          "maxItems": {
            "title": "Maximum records",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Hard cap on emitted records. Search modes split each query across freelancermap's own filters instead of page numbers, so broad queries can return well over one results page.",
            "default": 50
          }
        }
      },
      "runsResponseSchema": {
        "type": "object",
        "properties": {
          "data": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string"
              },
              "actId": {
                "type": "string"
              },
              "userId": {
                "type": "string"
              },
              "startedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "finishedAt": {
                "type": "string",
                "format": "date-time",
                "example": "2025-01-08T00:00:00.000Z"
              },
              "status": {
                "type": "string",
                "example": "READY"
              },
              "meta": {
                "type": "object",
                "properties": {
                  "origin": {
                    "type": "string",
                    "example": "API"
                  },
                  "userAgent": {
                    "type": "string"
                  }
                }
              },
              "stats": {
                "type": "object",
                "properties": {
                  "inputBodyLen": {
                    "type": "integer",
                    "example": 2000
                  },
                  "rebootCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "restartCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "resurrectCount": {
                    "type": "integer",
                    "example": 0
                  },
                  "computeUnits": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "options": {
                "type": "object",
                "properties": {
                  "build": {
                    "type": "string",
                    "example": "latest"
                  },
                  "timeoutSecs": {
                    "type": "integer",
                    "example": 300
                  },
                  "memoryMbytes": {
                    "type": "integer",
                    "example": 1024
                  },
                  "diskMbytes": {
                    "type": "integer",
                    "example": 2048
                  }
                }
              },
              "buildId": {
                "type": "string"
              },
              "defaultKeyValueStoreId": {
                "type": "string"
              },
              "defaultDatasetId": {
                "type": "string"
              },
              "defaultRequestQueueId": {
                "type": "string"
              },
              "buildNumber": {
                "type": "string",
                "example": "1.0.0"
              },
              "containerUrl": {
                "type": "string"
              },
              "usage": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "integer",
                    "example": 1
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              },
              "usageTotalUsd": {
                "type": "number",
                "example": 0.00005
              },
              "usageUsd": {
                "type": "object",
                "properties": {
                  "ACTOR_COMPUTE_UNITS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATASET_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "KEY_VALUE_STORE_WRITES": {
                    "type": "number",
                    "example": 0.00005
                  },
                  "KEY_VALUE_STORE_LISTS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_READS": {
                    "type": "integer",
                    "example": 0
                  },
                  "REQUEST_QUEUE_WRITES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_INTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "DATA_TRANSFER_EXTERNAL_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_SERPS": {
                    "type": "integer",
                    "example": 0
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}