{
  "openapi": "3.0.1",
  "info": {
    "title": "Behance Scraper — Designers, Projects & Portfolios",
    "description": "Scrape Behance creatives (location, occupation, fields, tools, availability, social links), projects with stats, portfolios and job listings. Filter by country, city, field, tool. No login.",
    "version": "0.1",
    "x-build-id": "3oMd2849Avj9l4L5o"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/tortuga~behance-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-tortuga-behance-scraper",
        "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/tortuga~behance-scraper/runs": {
      "post": {
        "operationId": "runs-sync-tortuga-behance-scraper",
        "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/tortuga~behance-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-tortuga-behance-scraper",
        "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",
        "properties": {
          "searchType": {
            "title": "What to search",
            "enum": [
              "people",
              "projects",
              "jobs"
            ],
            "type": "string",
            "description": "What the search terms look for: `people` (creatives / designers with location, occupation, fields, tools, availability, social links, work history), `projects` (portfolio projects with owners, fields, tools, appreciations, views) or `jobs` (Behance job board: full-time and freelance listings).",
            "default": "people"
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "Keywords, one per line (for example `logo designer`, `motion designer`, `packaging`). Each term is one Behance search, paged until the limits below. Leave empty to search by filters only (for example every branding designer in Berlin).",
            "items": {
              "type": "string"
            }
          },
          "startUrls": {
            "title": "Behance URLs",
            "type": "array",
            "description": "Profile URLs (`behance.net/username`: the profile plus its projects), project URLs (`behance.net/gallery/123/...`: full project details), search URLs copied from Behance (`/search/users?...`, `/search/projects?...`, with their filters) and job board URLs (`/joblist`).",
            "items": {
              "type": "object",
              "required": [
                "url"
              ],
              "properties": {
                "url": {
                  "type": "string",
                  "title": "URL of a web page",
                  "format": "uri"
                }
              }
            }
          },
          "country": {
            "title": "Country",
            "type": "string",
            "description": "Two-letter country code, for example `US`, `GB`, `DE`, `IN`. People search: where the creative lives; project search: where the owner lives."
          },
          "state": {
            "title": "State / region",
            "type": "string",
            "description": "Full state or region name as Behance shows it, for example `California` or `New York` (not `CA`). Use together with Country."
          },
          "city": {
            "title": "City",
            "type": "string",
            "description": "City name, for example `London`, `New York`, `Berlin`. Use together with Country."
          },
          "creativeField": {
            "title": "Creative field",
            "type": "string",
            "description": "One Behance creative field, for example `Branding`, `UI/UX`, `Illustration`, `Graphic Design`, `Motion Graphics`, `Photography`, `Architecture`, `Logo Design`, `Web Design`, `3D Art` (110 fields; the numeric id from a Behance URL's `field=` works too)."
          },
          "tool": {
            "title": "Tool",
            "type": "string",
            "description": "One tool the creative or project uses, for example `Figma`, `Adobe Photoshop`, `Adobe Illustrator`, `Blender`, `Cinema 4D`, `Procreate`, `Adobe After Effects`. Names Behance knows are looked up automatically; the numeric id from a URL's `tools=` works too."
          },
          "availability": {
            "title": "Available for hire",
            "enum": [
              "any",
              "freelance",
              "fullTime"
            ],
            "type": "string",
            "description": "Only creatives who marked themselves available for freelance work or for full-time jobs (project search: projects by such creatives).",
            "default": "any"
          },
          "school": {
            "title": "School (people only)",
            "type": "string",
            "description": "Only people whose Behance education lists a school containing this text, for example `Parsons` or `Central Saint Martins`. Checked on each profile (Behance has no school search), so put the school in the search term too for faster results. People without education on their profile are skipped and not charged."
          },
          "sort": {
            "title": "Sort",
            "enum": [
              "recommended",
              "appreciations",
              "views",
              "followed",
              "comments",
              "newest",
              "curated"
            ],
            "type": "string",
            "description": "Order of search results. `followed` is for people, `comments` for projects; `newest` = most recently published projects / newest members.",
            "default": "recommended"
          },
          "timePeriod": {
            "title": "Time period (projects)",
            "enum": [
              "all",
              "today",
              "week",
              "month"
            ],
            "type": "string",
            "description": "Project search only: limit to projects from today, this week or this month.",
            "default": "all"
          },
          "jobType": {
            "title": "Job type (jobs)",
            "enum": [
              "any",
              "fullTime",
              "freelance",
              "contract"
            ],
            "type": "string",
            "description": "Job board search only: full-time jobs, freelance projects, contract jobs, or all of them.",
            "default": "any"
          },
          "includeProfileProjects": {
            "title": "Include projects of profile URLs",
            "type": "boolean",
            "description": "For every profile URL, also save the creative's projects (newest first), not just the profile. Each project is one charged result.",
            "default": true
          },
          "includeDetails": {
            "title": "Fetch full project details",
            "type": "boolean",
            "description": "Make one extra request per project for its description, tags, licence, text and all image URLs. Project URLs always include them. Same price per result; the run takes longer.",
            "default": false
          },
          "maxItems": {
            "title": "Max results",
            "minimum": 1,
            "type": "integer",
            "description": "Stop after this many items (people, projects, jobs) are saved in total. Every saved item is one charged result, so this caps the cost.",
            "default": 100
          },
          "maxItemsPerSource": {
            "title": "Max results per search / URL",
            "minimum": 1,
            "type": "integer",
            "description": "Optional cap for each search term or URL, so several sources share the total fairly. With monitoring on, this is the window each run looks at (the first N results of every source; Max results is used when empty)."
          },
          "onlyNewOrChanged": {
            "title": "Only new or changed items",
            "type": "boolean",
            "description": "Remember what earlier runs of this search returned and output only new items or items whose price/status changed. Use with a Schedule; unchanged items are not charged. Here: new people matching a search, new projects of a profile or search, new jobs, and people whose freelance / full-time availability changed.",
            "default": false
          },
          "monitoringKey": {
            "title": "Monitoring key",
            "type": "string",
            "description": "Name for this watch, so several schedules on the same search stay separate; defaults to a key derived from the search input"
          },
          "proxyConfiguration": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify RESIDENTIAL proxy (the default) is needed: Behance's CDN refuses most datacenter IPs. Requests are small JSON answers (about 2 KB per person, 1 KB per project), so 1,000 results use a few MB of residential traffic.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}