# Behance Jobs Search Scraper (`alexist/behance-jobs-search-scraper`) Actor

Extract creative job opportunities from Behance.net with precision. This scraper collects job titles, budgets, locations, company details, and hiring contact info across 18+ data fields — perfect for recruiters, freelancers, and talent analysts seeking design, UX, illustration, and creative talent.

- **URL**: https://apify.com/alexist/behance-jobs-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-usage

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Behance Jobs Scraper: Scrape Creative Job Listings Effortlessly

---

### What Is Behance.net?

Behance.net is Adobe's global creative platform where designers, illustrators, UX/UI professionals, and artists showcase portfolios and discover paid opportunities. It hosts thousands of active job listings, ranging from freelance projects to full-time creative roles. Manually tracking opportunities across Behance is tedious for recruiters and job seekers alike — the **Behance Jobs Scraper** automates extraction of job metadata, enabling rapid talent market analysis and opportunity discovery.

---

### Overview

The **Behance Jobs Scraper** extracts structured job data from Behance job list pages, transforming raw listings into clean, queryable records. It is ideal for:

- **Recruiters** building talent pools and monitoring the creative job market
- **Freelancers** discovering projects matching their skills and budget expectations
- **HR professionals** benchmarking creative compensation and project rates
- **Market researchers** analyzing trends in design, UX, and creative hiring
- **Developers** aggregating creative job data for specialized job boards

Key features include flexible URL handling, configurable item limits, graceful error recovery with `ignore_url_failures`, and direct access to hiring contact information for outreach.

---

### Input Format

The scraper accepts a minimal JSON configuration:

```json
{
  "urls": [
    "https://www.behance.net/joblist?tracking_source=nav20&page=2&freelanceJobId=488235"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
````

| Field | Description |
|---|---|
| `urls` | Links to Behance job list pages (supports pagination, filters, and search results) |
| `max_items_per_url` | Maximum jobs collected per URL (e.g., `20`). Default: `20` |
| `ignore_url_failures` | If `true`, skips failed URLs and continues the run; if `false`, stops on first failure |

> **Tip:** Use Behance's built-in filters (job type, location, budget range) in the URL to pre-filter results. Paste the full filtered URL into the `urls` array for targeted scraping.

***

### Output Format

**Sample output**

```json
{
  "id": 491937,
  "job_type": "FREELANCE",
  "title": "Branding, Logo, and Poster Visual Design",
  "location": null,
  "locations": [],
  "budget_min": 100000,
  "budget_max": 250000,
  "salary_currency": "USD",
  "salary_timeframe": null,
  "company_name": "",
  "is_remote": true,
  "url": "https://www.behance.net/joblist/freelance/491937/Branding-Logo-and-Poster-Visual-Design",
  "has_applied": false,
  "applied_on": null,
  "is_saved": false,
  "company": null,
  "freelance_company_logo": null,
  "hiring_contact": {
    "display_name": "",
    "has_default_image": false,
    "images": {
      "all_available": [
        {
          "url": "https://pps.services.adobe.com/api/profile/0D63579F557CB48D7F000101@AdobeID/image/092b59e9-6919-4c5a-b672-5de1d7312824/50",
          "width": 50,
          "type": "JPG"
        },
        {
          "url": "https://pps.services.adobe.com/api/profile/0D63579F557CB48D7F000101@AdobeID/image/092b59e9-6919-4c5a-b672-5de1d7312824/100",
          "width": 100,
          "type": "JPG"
        },
        {
          "url": "https://pps.services.adobe.com/api/profile/0D63579F557CB48D7F000101@AdobeID/image/092b59e9-6919-4c5a-b672-5de1d7312824/115",
          "width": 115,
          "type": "JPG"
        },
        {
          "url": "https://pps.services.adobe.com/api/profile/0D63579F557CB48D7F000101@AdobeID/image/092b59e9-6919-4c5a-b672-5de1d7312824/230",
          "width": 230,
          "type": "JPG"
        },
        {
          "url": "https://pps.services.adobe.com/api/profile/0D63579F557CB48D7F000101@AdobeID/image/092b59e9-6919-4c5a-b672-5de1d7312824/138",
          "width": 138,
          "type": "JPG"
        },
        {
          "url": "https://pps.services.adobe.com/api/profile/0D63579F557CB48D7F000101@AdobeID/image/092b59e9-6919-4c5a-b672-5de1d7312824/276",
          "width": 276,
          "type": "JPG"
        }
      ]
    },
    "recruiter_pro": {
      "is_active": false
    },
    "is_verified_recruiter_organization": false,
    "is_commissioned_project_hirer": false,
    "creator_pro": {
      "is_active": false
    },
    "url": "",
    "social_references": []
  },
  "from_url": "https://www.behance.net/joblist?tracking_source=nav20&page=2&freelanceJobId=488235"
}
```

Each scraped job returns a comprehensive record with 18 fields:

#### Job Identification & Core Details

| Field | Meaning |
|---|---|
| `ID` | Unique Behance job identifier |
| `Title` | Job or project title as displayed |
| `Job Type` | Type of opportunity (e.g., freelance project, full-time, contract) |
| `URL` | Direct link to the job listing on Behance |

#### Location & Scope

| Field | Meaning |
|---|---|
| `Location` | Primary job location (string) |
| `Locations` | All job locations if multi-location (array) |
| `Is Remote` | Whether the role is remote-eligible (true/false) |

#### Compensation Details

| Field | Meaning |
|---|---|
| `Budget Min` | Minimum budget or salary amount |
| `Budget Max` | Maximum budget or salary amount |
| `Salary Currency` | Currency code (e.g., USD, EUR, GBP) |
| `Salary Timeframe` | Payment period (e.g., per project, hourly, annual) |

#### Company & Hiring Information

| Field | Meaning |
|---|---|
| `Company Name` | Name of the hiring organization |
| `Company` | Full company metadata object |
| `Freelance Company Logo` | Company logo image URL |
| `Hiring Contact` | Contact details for the recruiter or hiring manager |

#### Application Status

| Field | Meaning |
|---|---|
| `Has Applied` | Whether the authenticated user has already applied (true/false) |
| `Applied On` | Timestamp of application submission (if applicable) |
| `Is Saved` | Whether the job is saved to the user's favorites (true/false) |

***

### How to Use

1. **Navigate to Behance jobs** — Visit [behance.net/joblist](https://www.behance.net/joblist) and apply filters (job type, location, budget, category).
2. **Copy the filtered URL** — From your filtered results page, copy the full URL including query parameters.
3. **Configure input** — Paste the URL into the `urls` array. Set `max_items_per_url` to control volume (e.g., `20`, `50`, `100`).
4. **Enable error handling** — Set `ignore_url_failures: true` for bulk scraping to avoid interruptions.
5. **Run the scraper** — Start the actor and monitor progress in the run log.
6. **Export results** — Download output as JSON, CSV, or Excel for analysis or integration.

**Best practices:**

- Use Behance's search filters to pre-narrow results before scraping (faster, more relevant data).
- For pagination, include the `&page=` parameter in multiple URLs (e.g., page 1, 2, 3) to collect listings across multiple result sets.
- Extract `Hiring Contact` for direct outreach to employers or job posters.

***

### Use Cases & Business Value

- **Talent acquisition:** Identify and monitor creative hiring at competitors
- **Market intelligence:** Track average freelance rates, budget trends, and skill demand in design and UX
- **Freelancer research:** Build a pipeline of high-quality freelance opportunities with known budgets and contact info
- **Job board aggregation:** Feed Behance listings into custom creative job boards or Slack channels
- **Academic analysis:** Study hiring patterns in the creative industry by region, role, and budget

The Behance Jobs Scraper eliminates hours of manual job browsing, surfacing opportunities and market insights in minutes.

***

### Conclusion

The **Behance Jobs Scraper** is a powerful tool for anyone in the creative talent space — whether recruiting top designers, sourcing freelance talent, or researching the creative job market. With 18+ data fields and easy configuration, it transforms Behance job listings into actionable, exportable data. Start scraping today and unlock the full depth of creative hiring opportunity on Behance.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.behance.net/joblist?tracking_source=nav20&page=2&freelanceJobId=488235"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "urls": [
        "https://www.behance.net/joblist?tracking_source=nav20&page=2&freelanceJobId=488235"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/behance-jobs-search-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "urls": ["https://www.behance.net/joblist?tracking_source=nav20&page=2&freelanceJobId=488235"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("alexist/behance-jobs-search-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.behance.net/joblist?tracking_source=nav20&page=2&freelanceJobId=488235"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call alexist/behance-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=alexist/behance-jobs-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Behance Jobs Search Scraper",
        "description": "Extract creative job opportunities from Behance.net with precision. This scraper collects job titles, budgets, locations, company details, and hiring contact info across 18+ data fields — perfect for recruiters, freelancers, and talent analysts seeking design, UX, illustration, and creative talent.",
        "version": "0.0",
        "x-build-id": "2tnGEnTCGWqXuykCz"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/alexist~behance-jobs-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-alexist-behance-jobs-search-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/alexist~behance-jobs-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-alexist-behance-jobs-search-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/alexist~behance-jobs-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-alexist-behance-jobs-search-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": {
                    "urls": {
                        "title": "URLs of the Jobs list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "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
                                    }
                                }
                            },
                            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
