Cameo Talent Listings Scraper
Pricing
Pay per event
Cameo Talent Listings Scraper
Search Cameo's talent marketplace by name and get structured rows: video, DM, rush, and business price tiers, category tags, star rating, booking activity, and availability, pulled from Cameo's own search API. Built for talent-booking agencies and marketing competitive-intel teams.
Pricing
Pay per event
Rating
0.0
(0)
Developer
DevilScrapes
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
🎯 What this scrapes
Cameo (cameo.com) lists roughly 60,000 celebrities and creators selling personalized video shout-outs. This Actor queries Cameo's own JSON search backend by name and returns one structured row per matched talent — no HTML parsing, no browser, just the same API the cameo.com search box calls.
🔥 What we handle for you
- 🛡️ Browser fingerprint rotation —
curl-cffiimpersonates real Chrome / Firefox / Safari TLS handshakes so the target sees a browser, not Python. - 🌐 Residential proxy rotation via Apify Proxy — fresh session and exit IP on every block.
- 🔁 Retries with exponential backoff on
408 / 429 / 5xx— up to 5 attempts per page,Retry-Afterhonoured. - 🧱 Rate-limit-aware pacing — when the target pushes back, we slow down instead of getting banned.
- 🧊 Clean, typed dataset rows — Pydantic-validated, ISO-8601 timestamps, stable IDs, JSON / CSV / Excel export straight from the Apify Console.
- 💰 Pay-Per-Event pricing — you only pay for results that hit your dataset. No data, no charge.
💡 Use cases
- Talent-booking agencies — build a searchable roster of Cameo talent with current pricing before pitching clients.
- PR / marketing competitive intel — track which creators and celebrities are active on Cameo and how they're priced.
- Pricing research — benchmark video, DM, rush, and business-tier prices across a category of talent.
- Availability monitoring — re-run a saved query list to catch when a talent becomes bookable again.
⚙️ How to use it
- Click Try for free at the top of the page.
- Fill in the input form — most fields have sensible defaults.
- Click Start. Output streams into the run's dataset.
- Export from Storage → Dataset as JSON, CSV, or Excel — or fetch via the API.
📥 Input
| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
queries | array | yes | ['MrBeast'] | One or more free-text search terms (talent names, handles, or keywords). Each entry is queried against Cameo's talent… |
sortBy | string | no | 'featured' | Maps to Cameo's underlying search index. Only featured is verified against production; the others fall… |
maxResultsPerQuery | integer | no | 60 | Upper bound on rows returned per input query, after dedup across pages for that query. |
hitsPerPage | integer | no | 60 | Page size sent to Cameo's API per request. Capped at 100 — the highest value confirmed working in live testing. |
proxyConfiguration | object | no | {'useApifyProxy': True} | Apify Proxy — wired per house anti-blocking rule. Cameo's search API has needed no proxy in local testing to date, but… |
Example input
{"queries": ["Snoop Dogg"],"sortBy": "featured","maxResultsPerQuery": 5,"hitsPerPage": 5,"proxyConfiguration": {"useApifyProxy": true}}
📤 Output
Every row is one dataset item.
| Field | Type | Notes |
|---|---|---|
id | string | Cameo talent ID (hits[]._id). |
name | string | Talent display name. |
username | string | Cameo username / URL slug. |
profile_url | string | Public Cameo profile URL, derived from username. |
image_url | string | Profile image URL, derived from imageUrlKey + the Cameo CDN base. null when imageUrlKey is absent. |
profession | string | Talent's stated profession / one-liner. |
price_usd | number | Standard video price in dollars, converted from Cameo's raw cents. |
dm_price_usd | number | Direct-message price in dollars. 0.0 means offered free; null means not offered. |
ios_price_usd | number | In-app (iOS) price in dollars. |
business_price_usd | number | Business-tier booking price in dollars. |
tags | array | Category / interest tags. Always an array, empty when Cameo returns none. |
average_rating | number | Average customer rating, 0-5. |
num_ratings | integer | Number of ratings received. Defaults to 0. |
temporarily_unavailable | boolean | Whether the talent is currently marked unavailable for booking. |
is_available_for_business | boolean | Whether business-tier bookings are open for this talent. |
booking_last_24h | integer | Bookings in the last 24 hours, per Cameo's own booking-activity metric. |
booking_last_7d | integer | Bookings in the last 7 days, per Cameo's own booking-activity metric. |
matched_queries | array | Every distinct input query that surfaced this talent in this run, in first-match order. |
Example output
{"id": "5de2b2ab0e7204016ccde9b5","name": "Chris Gronkowski","username": "chrisgronkowski","profile_url": "https://www.cameo.com/chrisgronkowski","image_url": "https://cdn2.cameo.com/NDEu87dGE_avatar-G8LV2b3Td.jpg","profession": "Former NFL Fullback","price_usd": 30.0,"dm_price_usd": 0.0,"ios_price_usd": 42.85,"business_price_usd": 500.0,"tags": ["Promotional","Athletes"],"average_rating": 4.9,"num_ratings": 181,"temporarily_unavailable": false,"is_available_for_business": true,"booking_last_24h": 0,"booking_last_7d": 1,"matched_queries": ["Gronk"]}
💰 Pricing
Pay-Per-Event — you pay only when these events fire:
| Event | USD | What it is |
|---|---|---|
actor-start | $0.05 | One-off warm-up charge per run |
result-row | $0.0012 | Per unique dataset item |
Example: 1 000 results at the rates above ≈ $1.25. No subscription, no minimum, no card to start — Apify gives every new account $5 of free credit.
🚧 Limitations
- Covers Cameo's public search/listing surface only — no individual profile-page bio text, video samples, or review content.
- No booking or purchase automation.
- No historical price tracking across runs in v1 — each run is a point-in-time snapshot.
- Non-featured sort orders (
price_asc,price_desc,newest,alpha) fall back to the defaultfeaturedorder if Cameo rejects the underlying index.
❓ FAQ
Is this legal?
We only fetch content the source makes publicly available. Respect any platform terms of service before using output commercially.
How do I export to Sheets?
After the run, click Storage → Dataset → Export and pick CSV. Google Sheets imports it directly.
Why is my run slow?
Some sources rate-limit aggressively. The Actor backs off automatically. Lower the maxResults setting if you're testing.
💬 Your feedback
Spotted a bug, hit a weird edge case, or need a new field? Open an issue on the Actor's Issues tab on Apify Console — we ship fixes weekly and we read every report.