Public Design Search
Use public search pages as the primary source of truth and keep the workflow login-free.
Workflow
-
Choose search tags.
- Prefer English tags for these three platforms unless a platform clearly supports another language.
- Load references/tag-taxonomy.md for generic tag-selection guidance and example category/tag patterns.
- Keep tag choice independent from platform-specific extraction logic.
-
Build public search URLs.
- Dribbble:
https://dribbble.com/search/<urlencoded-tag> - Pinterest:
https://www.pinterest.com/search/pins/?q=<urlencoded-tag>&rs=typed - Behance:
https://www.behance.net/search/projects?search=<urlencoded-tag>
- Dribbble:
-
Collect candidate cards from the search page.
- Prefer browser automation over raw HTTP for all three platforms.
- Normalize search-card fields first:
title,source_url,cover_image_url,summary,author_namewhen exposed, andraw_metricswhen exposed.
-
Backfill sparingly.
- Default: keep the search-page
cover_image_url. - Use detail pages primarily for
publish_time. - Only backfill
author_namewhen the search card exposes nothing and the request budget allows it. - On constrained servers or proxy-heavy environments, disable Pinterest detail backfill entirely and rely on search-page results.
- Default: keep the search-page
-
Return a normalized public-only record.
- Keep unstable fields nullable.
- Record the input tag or matched tag set when useful.
- Do not fabricate authors, publish times, or engagement metrics.
Extraction Priorities
title: search-card title first, then safe public meta/title fallback.cover_image_url: search-page image first; only do light URL upgrades when the site uses obvious small fixed-size variants.author_name: search-card author first; leaveUnknownif public search does not expose it reliably.publish_time: detail-page public metadata when available; otherwisenull.summary: normalized title or short public snippet.
Platform-specific rules live in:
Network Guidance
- Pinterest and Behance may require VPN or proxy access in restricted regions.
- Browser traffic may work best through SOCKS5 while image download or pHash download may need an HTTP proxy.
- Verify network reachability before changing selectors.
- If a platform is reachable only through unstable proxies, reduce detail backfill before changing the tag set.
Guardrails
- Public pages only. No login-only APIs, cookies, or authenticated sessions.
- Prefer search-page fields over detail scraping whenever they are good enough.
- Do not chase high-resolution cover images unless the search-page image is clearly unusable.
- Treat missing metrics as normal.
- Expect DOM drift and anti-bot behavior.
- These three platforms are effectively English-first in most reusable workflows.
Output Shape
Normalize results into a shape close to:
{
"title": "",
"platform": "dribbble|pinterest|behance",
"source_url": "",
"cover_image_url": "",
"author_name": "",
"publish_time": null,
"keyword": "",
"matched_tags": []
}