Behance Portfolios Scraper avatar

Behance Portfolios Scraper

Pricing

Pay per event

Go to Apify Store
Behance Portfolios Scraper

Behance Portfolios Scraper

Search public Behance projects and enrich creator, creative-field, media, thumbnail, appreciation, and view data for creative-talent research.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

9 days ago

Last modified

Categories

Share

Search public Behance portfolios and turn project results into structured records for creative-talent research, agency sourcing, design-market analysis, and repeatable portfolio snapshots.

The Actor searches Behance projects by keyword, applies source-native creative-field and sort filters, follows public result cursors, and exports project IDs, titles, creators, thumbnails, appreciations, views, query, and rank. Optional detail enrichment adds creator IDs, creative fields, and bounded public project media URLs.

No Behance login or customer account is required. Authenticated hiring, messaging, and contact-discovery tools are intentionally outside this Actor's scope.

What can Behance Portfolios Scraper do?

  • Search public Behance projects with one or several real keywords.
  • Filter searches by a Behance creative field such as Architecture, Branding, Photography, or UI/UX.
  • Order projects by Behance recommendations, appreciations, views, comments, or recency.
  • Start from public Behance project-search URLs or individual gallery URLs.
  • Follow public cursor pagination up to a bounded maxItems limit.
  • Deduplicate projects by stable Behance project ID across all inputs.
  • Preserve the search query and one-based result rank for downstream comparison.
  • Optionally open project pages for creator IDs, creative fields, and media URLs.
  • Export results through Apify datasets in JSON, CSV, Excel, XML, RSS, or JSONL.

Who is it for?

Recruiters and talent sourcers

Build a review queue of public creative work by specialty before visiting the creator's public profile. Search terms and ranking remain attached to every project.

Design and brand agencies

Research visible project work in branding, architecture, UI/UX, illustration, photography, and other Behance fields without manually copying cards into a spreadsheet.

Creative strategy teams

Capture a bounded snapshot of projects and public engagement indicators for a keyword. Schedule the same input later and compare datasets in your own database or workflow.

Data and research teams

Feed typed Behance project records into BI tools, notebooks, data warehouses, or enrichment pipelines through the Apify API.

Why use this Actor?

Behance's public search page uses a JavaScript browser challenge and cursor-based result delivery. This Actor executes the public browser flow, waits for recognizable project data, blocks unnecessary media transfer, and normalizes the visible records.

Unlike a profile-only scraper, the primary result is a ranked project-search record with its originating query. Unlike a media downloader, the Actor returns media URLs as research metadata and does not download project assets.

Failures are explicit. A challenge page, unsupported URL, malformed limit, or missing project grid is reported as an error rather than silently returned as an empty successful result.

What Behance data is extracted?

FieldMeaningAvailability
projectIdStable Behance gallery identifierAlways
titlePublic project titleAlways
urlCanonical public gallery URLAlways
creator.namePublic creator display nameSearch and enrichment
creator.urlPublic Behance creator profileWhen surfaced
creator.idPublic creator identifierDetail enrichment
creativeFieldsBehance fields attached to a projectDetail enrichment
thumbnailUrlPublic project cover image URLWhen surfaced
mediaUrlsBounded project-module image URLsDetail enrichment
appreciationsPublic appreciation count at scrape timeWhen surfaced
viewsPublic view count at scrape timeWhen surfaced
querySearch query associated with the resultSearch inputs
rankOne-based accepted-result rank in the runAlways
enrichedWhether the detail page was openedAlways
scrapedAtISO 8601 extraction timestampAlways

Public counters can change after a run. Missing values mean Behance did not surface the field in the processed page shape.

How to search Behance projects

  1. Open the Actor in Apify Console.
  2. Enter one or more values in Search queries.
  3. Optionally select a creative field and sort order.
  4. Set a small maxItems while testing your sourcing criteria.
  5. Enable enrichDetails only when you need project-page fields.
  6. Run the Actor and open the Behance projects dataset view.
  7. Export or integrate the dataset after checking the sample rows.

A useful first input is:

{
"searchQueries": ["branding designer"],
"maxItems": 10,
"enrichDetails": false
}

Input parameters

InputTypeDefaultDescription
searchQueriesstring arraynoneUp to 20 public project-search phrases.
startUrlsURL arraynoneUp to 100 public /search/projects or /gallery/<id> Behance URLs.
creativeFieldstringnoneSource-native creative-field filter applied to generated and explicit search URLs.
sortstringrecommendedrecommended, appreciations, views, comments, or published_date.
maxItemsinteger50Maximum unique projects saved, from 1 to 1,000.
enrichDetailsbooleanfalseOpens each project page for richer public fields.
maxMediaUrlsinteger20Maximum media URLs retained per enriched project, from 0 to 100.

Provide at least one search query or start URL. Only public HTTPS URLs on behance.net are accepted.

Search filters and explicit URLs

Search filters are applied consistently to generated keyword searches and explicit Behance search URLs. For example:

{
"startUrls": [
{ "url": "https://www.behance.net/search/projects?search=architecture%20portfolio" }
],
"creativeField": "Architecture",
"sort": "appreciations",
"maxItems": 25
}

A public /gallery/<projectId>/... URL is treated as one exact project. Search-only filters do not alter an exact project URL.

Detail enrichment

Set enrichDetails to true when the search card is not enough for your workflow.

The Actor then opens each accepted public project page and can add:

  • public creator ID;
  • attached Behance creative fields;
  • project-module media URLs up to maxMediaUrls;
  • engagement values available in public structured data.

Enrichment is deliberately bounded and sequential within the browser session. It is slower and costs more compute than search-only extraction. It does not download files, reveal private contact information, or interact with creators.

Output example

A search-only run returns records shaped like this:

{
"projectId": "200140581",
"title": "\"ANIVASI\" a non fiction film",
"url": "https://www.behance.net/gallery/200140581/ANIVASI-a-non-fiction-film",
"creator": {
"name": "Shailendra Sathe",
"url": "https://www.behance.net/Shailendra-Sathe"
},
"creativeFields": [],
"thumbnailUrl": "https://mir-s3-cdn-cf.behance.net/projects/404/6f4732200140581.Y3JvcCwyODc2LDIyNTAsNjMzLDA.png",
"mediaUrls": [],
"appreciations": 0,
"views": 0,
"query": "branding designer",
"rank": 1,
"enriched": false,
"scrapedAt": "2026-08-03T04:58:41.364Z"
}

This example reflects public source data at one point in time. Current search order and engagement values may differ.

How much does it cost to search Behance portfolios?

The Actor uses pay-per-event pricing:

  • one start event for each run;
  • one item event for each validated project saved to the default dataset.

No item event is charged for a rejected, duplicate, failed, or empty record. Detail enrichment is included in the same item event; it does not create a separate charged record type.

The one-time start event is $0.005. The BRONZE item price is $0.003464 per saved project; the other active item tiers are FREE $0.0039836, SILVER $0.0027019, GOLD $0.0020784, PLATINUM $0.0013856, and DIAMOND $0.00096992.

At BRONZE, estimated event charges are about $0.0085 for 1 project, $0.0223 for 5, $0.0396 for 10, $0.0916 for 25, and $0.3514 for 100. These are Actor event charges; platform usage and the tier attached to your Apify plan may differ. Check the live pricing panel before a large run.

Tips for efficient runs

  • Begin with 5–20 results while tuning a query.
  • Use creativeField to reduce irrelevant projects before enabling enrichment.
  • Keep enrichDetails off if search-card fields satisfy your workflow.
  • Reduce maxMediaUrls when only creator and creative-field metadata matters.
  • Combine related queries in one run so project-ID deduplication works across them.
  • Use stable schedules and store each dataset ID if you compare snapshots over time.
  • Avoid very broad one-word queries when a role, specialty, or deliverable is known.

Connection behavior

The Actor uses a resource-blocked browser session to execute Behance's public JavaScript challenge. It does not expose an automatic paid residential fallback: measured residential transfer varied enough to make small runs uneconomic at competitive per-project prices.

A missing recognizable project grid therefore fails explicitly. Retry later after a transient source interruption rather than paying for an unpredictable hidden proxy path.

Scheduling portfolio snapshots

Apify schedules can rerun the same task daily, weekly, or monthly. A practical monitoring workflow is:

  1. save a tested Actor input as an Apify Task;
  2. schedule the Task;
  3. send each completed dataset to your database or webhook;
  4. compare projectId, engagement counters, and rank with the prior snapshot;
  5. review newly observed IDs or meaningful changes.

The Actor creates snapshots. It does not maintain a hidden cross-run database, calculate diffs, or send alerts by itself.

Spreadsheet and data-pipeline exports

Open the run dataset and choose JSON, CSV, Excel, XML, RSS, or JSONL. You can also request selected fields through the dataset API.

Common pipelines include:

  • Behance project search to Google Sheets through Make;
  • scheduled datasets to Airtable or a CRM review queue;
  • JSONL export to a warehouse or vector-index preparation job;
  • creator profile URLs passed to a separate, authorized enrichment process;
  • rank and counter snapshots analyzed in Python or a BI tool.

Run with the Apify API using cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~behance-creative-portfolio-search-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"searchQueries": ["architecture portfolio"],
"creativeField": "Architecture",
"maxItems": 20,
"enrichDetails": false
}'

The response contains the run and default dataset IDs. Keep tokens in environment variables rather than source code.

Run with JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const { defaultDatasetId } = await client
.actor('automation-lab/behance-creative-portfolio-search-scraper')
.call({
searchQueries: ['mobile app UX designer'],
creativeField: 'UI/UX',
maxItems: 25,
enrichDetails: true,
maxMediaUrls: 10,
});
const { items } = await client.dataset(defaultDatasetId).listItems();
console.log(items);

Run with Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor(
"automation-lab/behance-creative-portfolio-search-scraper"
).call(run_input={
"searchQueries": ["editorial illustration"],
"maxItems": 20,
"enrichDetails": False,
})
items = client.dataset(run["defaultDatasetId"]).list_items().items
print(items)

Use with Apify MCP and Claude Code

Add this Actor to Claude Code through Apify MCP:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/behance-creative-portfolio-search-scraper"

For Claude Desktop, Cursor, and VS Code, add the equivalent HTTP MCP server configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/behance-creative-portfolio-search-scraper"
}
}
}

Example prompts:

  • “Search Behance for 15 architecture portfolio projects and return creator links.”
  • “Collect five enriched UI/UX projects with no more than ten media URLs each.”
  • “Run my Behance branding portfolio task and summarize the highest-viewed results.”

Integrations

The default dataset works with Apify webhooks, schedules, Make, Zapier, Google Sheets, Slack, cloud storage, and custom API clients.

For repeat workflows, create an Apify Task with fixed filters and let the integration consume the new run's dataset ID. Do not read from a fixed named dataset, because per-run datasets provide a clean snapshot boundary.

Limitations

  • Behance can change its public page structure, filters, cursor behavior, or challenge flow.
  • Search order and engagement counters are source-controlled and can change between runs.
  • Public search can be broad; source-native filtering does not guarantee professional suitability.
  • The Actor does not access authenticated hiring tools, private profiles, private contact data, or messages.
  • It does not download media files or grant reuse rights for project assets.
  • maxItems is a ceiling, not a promise that every query currently has that many distinct public projects.
  • Detail enrichment is slower and may surface fewer fields on unusual project layouts.
  • A zero-result query is valid only when Behance renders a recognizable empty-result state.

Troubleshooting

The run reports that no project grid appeared

Check the query or URL in a normal browser and retry later if Behance is temporarily unavailable. Keep the test limit small while diagnosing. Persistent challenge changes are reported as failures rather than misleading empty output.

My search URL was rejected

Use a public HTTPS URL on www.behance.net beginning with /search/projects or /gallery/<numeric-id>. Profile URLs, hiring pages, Adobe account pages, and arbitrary external URLs are intentionally rejected.

Some enriched fields are empty

Behance does not expose every field on every project. Confirm that enrichDetails is true, then inspect the public gallery page. Empty arrays indicate that the expected public detail was not surfaced in the processed page shape.

Why are there fewer rows than requested?

The Actor deduplicates by project ID across all queries and stops when Behance's public cursor is exhausted. Overlapping queries can therefore produce fewer unique records than their raw card totals.

This Actor accesses public Behance pages. You are responsible for ensuring that your use complies with applicable laws, Behance and Adobe terms, copyright, privacy obligations, and the rights of creators.

Use the output for legitimate research and sourcing. Do not republish project media without permission, infer sensitive traits, create abusive outreach, circumvent access controls, or treat public portfolio data as consent for unrelated contact.

Store only what you need, apply appropriate retention controls, and honor valid deletion or correction requests in downstream systems.

FAQ

Does the Actor require a Behance login?

No. It processes public search and gallery pages without customer credentials.

Can it find creator emails or contact people?

No. Authenticated hiring, messaging, and contact extraction are outside the supported product.

Can it scrape one known project?

Yes. Add its public /gallery/<numeric-id>/... URL to startUrls. The Actor enriches an explicit project URL so the returned record remains useful.

Can I search several specialties in one run?

Yes. Add up to 20 queries. Results are deduplicated by project ID while retaining the query that first accepted each project.

Does it monitor changes automatically?

The Actor returns timestamped snapshots. Use an Apify Task and schedule, then compare run datasets in your own workflow.

Does it download Behance images?

No. It returns public thumbnail and bounded project media URLs. It does not download or license the assets.

What happens when Behance blocks a route?

The Actor detects missing recognizable data and keeps navigation bounded. Persistent failure produces a failed run rather than misleading empty output or an unpredictable paid-proxy charge.

Combine this Actor with Apify schedules, webhooks, datasets, and your authorized CRM or analytics destination. No currently public automation-lab Actor is listed as a Behance-specific companion; this avoids linking buyers to an unavailable or unrelated product.