FeaturedCustomers Customer References Scraper
Pricing
Pay per event
FeaturedCustomers Customer References Scraper
Extract public FeaturedCustomers case studies and testimonials into structured B2B customer-reference intelligence. Locked records are excluded.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Share
Extract public case studies and testimonials from FeaturedCustomers vendor profiles into structured customer-reference intelligence.
Give the Actor one or more vendor URLs and receive customer names, reference IDs, case-study titles, testimonial quotes, attributed contacts, source links, public PDF links, and logo URLs. Locked or blurred cards are never accessed or returned.
What this Actor does
FeaturedCustomers Customer References Scraper turns the anonymously visible customer proof on vendor pages into an integration-ready dataset.
It supports both public reference surfaces:
- vendor case studies;
- vendor testimonials.
The Actor uses server-rendered HTML rather than a browser. This keeps runs lightweight while preserving the useful fields shown on public cards.
You can run the same input on a schedule to identify additions to competitor customer portfolios or refresh an internal proof library.
Who is this for
Competitive-intelligence teams
Batch competitor vendor URLs to map which customers they publicly feature and what outcomes they highlight.
Customer-marketing teams
Export customer names, stories, PDFs, quotes, and attributed roles into a research or content-planning workflow.
Product marketers
Compare reference themes and customer segments across several B2B vendors.
Sales and enablement teams
Build a source-linked collection of public customer proof for account research and battlecards.
Data teams
Send normalized results to a warehouse, spreadsheet, CRM enrichment pipeline, webhook, or scheduled monitoring job.
Why use this Actor
- Two reference types: case studies and testimonials use one consistent output contract.
- URL-driven scope: provide exact vendor profiles instead of relying on ambiguous keyword matching.
- Public records only: locked placeholders are skipped by construction.
- Typed output: every record includes a stable reference type and ID.
- Global limit:
maxItemsapplies across all vendors and selected types. - Deduplication: repeated vendor URLs do not create duplicate records in one run.
- Lightweight extraction: no browser or media download is required.
- Source traceability: each row keeps the exact FeaturedCustomers source page.
Extracted data
| Field | Meaning |
|---|---|
vendor | Vendor name displayed by FeaturedCustomers |
vendorSlug | Stable vendor slug from the profile URL |
referenceType | caseStudy or testimonial |
referenceId | FeaturedCustomers reference ID |
customerName | Customer featured in the public card |
customerLogoUrl | Public customer logo URL, when available |
title | Case-study title; null for testimonials |
quote | Testimonial quote; null when absent |
contactName | Publicly attributed contact, when available |
contactTitle | Publicly attributed contact role, when available |
originalStoryUrl | Original vendor-hosted story, when available |
pdfUrl | Public FeaturedCustomers PDF URL, when available |
sourceUrl | Exact vendor reference page parsed |
scrapedAt | ISO 8601 extraction timestamp |
Nullable fields remain null rather than being replaced with invented values.
Getting started
- Open the Actor in Apify Console.
- Add one or more FeaturedCustomers vendor URLs.
- Select case studies, testimonials, or both.
- Set the maximum number of references to save.
- Leave proxy use disabled unless your network requires it.
- Click Start.
- Open the default dataset to export JSON, CSV, Excel, XML, or another supported format.
A small working input is:
{"vendorUrls": [{ "url": "https://www.featuredcustomers.com/vendor/slack" }],"referenceTypes": ["caseStudy", "testimonial"],"maxItems": 20}
Input parameters
vendorUrls
Required array of FeaturedCustomers vendor URLs.
Accepted shapes include:
https://www.featuredcustomers.com/vendor/slackhttps://www.featuredcustomers.com/vendor/slack/case-studieshttps://www.featuredcustomers.com/vendor/slack/testimonials
A type-specific URL is normalized to the vendor profile. The referenceTypes setting remains the authoritative filter, so explicit and profile URLs behave consistently.
URLs on other domains or non-vendor FeaturedCustomers pages fail validation.
referenceTypes
Array containing one or both values:
caseStudytestimonial
The default extracts both.
maxItems
Maximum total records saved across all vendors and types.
- minimum:
1; - maximum:
10000; - default:
100.
The Actor stops saving as soon as this global limit is reached.
proxyConfiguration
Optional Apify Proxy or custom proxy configuration.
Direct HTTP works for the public pages under normal conditions and has the lowest transfer cost. Configure a proxy only when your environment or geography requires one.
Output example
A current public case-study record has this shape:
{"vendor": "Slack","vendorSlug": "slack","referenceType": "caseStudy","referenceId": "34990","customerName": "The Times","customerLogoUrl": "https://cdn.featuredcustomers.com/Company.logo_medium/the-times_20298.webp","title": "Bridging team communication in the newsroom","quote": null,"contactName": "Matthew Taylor","contactTitle": "Digital Production Editor","originalStoryUrl": "https://slack.com/intl/en-in/customer-stories/bridging-team-communication-newsroom","pdfUrl": "https://cdn.featuredcustomers.com/CustomerCaseStudy.document/bridging-team-communication-newsroom.pdf","sourceUrl": "https://www.featuredcustomers.com/vendor/slack/case-studies","scrapedAt": "2026-07-25T03:09:13.246Z"}
Testimonial rows use the same schema. Their quote contains the public quote while case-study-only fields are null.
Pricing
This Actor uses pay per event pricing:
- $0.005 per run start;
- $0.00001 per saved customer reference.
The measured calculator-derived reference price is at Apify’s event-price floor for every plan tier. Failed, duplicate, locked, or rejected records are not charged as reference events.
Example totals:
| Saved references | Estimated Actor charge |
|---|---|
| 1 | $0.00501 |
| 10 | $0.00510 |
| 100 | $0.00600 |
| 1,000 | $0.01500 |
These examples cover Actor event charges. Optional proxy transfer can add platform usage according to the selected proxy configuration.
Coverage and limits
FeaturedCustomers exposes a bounded anonymous sample on vendor pages. This Actor returns that public sample; it does not claim to export every record in the FeaturedCustomers database.
The Actor intentionally does not:
- unlock blurred or locked cards;
- sign in to a FeaturedCustomers account;
- bypass subscription controls;
- download PDF files into Actor storage;
- crawl unrelated pages from source links;
- infer missing contacts, companies, or outcomes.
Public page structure and available records can change. Use stable IDs and source URLs when comparing scheduled runs.
Reliability and failure behavior
Requests have bounded timeouts and retries.
The Actor retries transient network failures, HTTP 429 responses, and temporary server errors with backoff. It does not repeatedly retry deterministic invalid URLs, normal 4xx responses, unsupported content types, or recognizable blocked pages.
A malformed input or unusable upstream response causes a failed run rather than a misleading successful run with zero records.
Monitoring competitor customer proof
A repeatable monitoring workflow is:
- Keep a list of competitor FeaturedCustomers vendor URLs.
- Run the Actor daily or weekly with both reference types.
- Store
referenceTypeplusreferenceIdas the unique key. - Compare new results with the previous snapshot.
- Route newly observed customers or stories to research, Slack, email, or a CRM review queue.
Apify schedules and webhooks can automate this process without maintaining a scraper server.
Export and integration patterns
The default dataset works with:
- JSON and JSONL processing pipelines;
- CSV or Excel competitor matrices;
- Google Sheets through Apify integrations;
- Make and Zapier workflows;
- webhooks triggered after successful runs;
- data warehouses and BI tools;
- internal customer-proof search indexes.
For durable change tracking, persist the stable reference key rather than relying on row order.
Run through the API with cURL
Replace YOUR_TOKEN with an Apify API token:
curl -X POST \"https://api.apify.com/v2/acts/automation-lab~featuredcustomers-customer-references-scraper/run-sync-get-dataset-items?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"vendorUrls": [{"url": "https://www.featuredcustomers.com/vendor/slack"}],"referenceTypes": ["caseStudy", "testimonial"],"maxItems": 20}'
For production systems, send the token in an authorization header instead of a query string.
JavaScript API example
Install the client:
$npm install apify-client
Run the Actor and read its dataset:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('automation-lab/featuredcustomers-customer-references-scraper').call({vendorUrls: [{ url: 'https://www.featuredcustomers.com/vendor/slack' }],referenceTypes: ['caseStudy', 'testimonial'],maxItems: 20,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python API example
Install the client:
$pip install apify-client
Then run:
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ["APIFY_TOKEN"])run = client.actor("automation-lab/featuredcustomers-customer-references-scraper").call(run_input={"vendorUrls": [{"url": "https://www.featuredcustomers.com/vendor/slack"}],"referenceTypes": ["caseStudy", "testimonial"],"maxItems": 20,})items = client.dataset(run["defaultDatasetId"]).list_items().itemsprint(items)
Use with Apify MCP
Add this Actor to Claude Code:
claude mcp add --transport http apify \"https://mcp.apify.com?tools=automation-lab/featuredcustomers-customer-references-scraper"
Claude Desktop
Add this JSON to your Claude Desktop MCP configuration:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=automation-lab/featuredcustomers-customer-references-scraper"}}}
Cursor
Add the same mcpServers.apify.url entry in Cursor’s MCP settings, then reload the MCP tools list.
VS Code
Add the same HTTP MCP server URL in your VS Code MCP configuration and start the apify server from the MCP panel.
Example prompts:
- “Extract the public case studies and testimonials for these three FeaturedCustomers vendors.”
- “Return only case studies and limit the dataset to 50 references.”
- “Create a table of customer, vendor, contact role, story URL, and PDF URL.”
Legality and responsible use
This Actor accesses only records presented anonymously on public FeaturedCustomers vendor pages.
You are responsible for your use of the data. Review the source website’s terms, robots guidance, contractual obligations, and applicable privacy, copyright, database, and data-protection laws.
Public attribution can include a person’s name and job title. Collect, retain, and share personal data only when you have a lawful purpose. Avoid intrusive profiling, spam, harassment, or decisions that could unfairly affect individuals.
The Actor is a technical data-extraction tool and does not provide legal advice.
Troubleshooting
Why did my run fail immediately?
Check that every URL is a FeaturedCustomers vendor URL under /vendor/{slug}. Search pages, category pages, arbitrary websites, and empty URL lists are rejected.
Why are there fewer results than the profile count?
Anonymous vendor pages expose only a public sample. Locked cards and subscription-only records are out of scope and are skipped.
Why is a field null?
Case studies and testimonials expose different fields. For example, testimonial rows normally have no PDF or case-study title. The Actor preserves null values rather than guessing.
Should I enable a proxy?
Usually no. Start with direct HTTP. If your environment receives a network-level restriction, configure an Apify or custom proxy and rerun.
Does the Actor download PDFs?
No. It returns a public pdfUrl when FeaturedCustomers includes one. This avoids unnecessary storage and transfer cost.
Related Automation Lab Actors
- G2 Reviews & Products Scraper — collect B2B product and review intelligence.
- Clutch Reviews Scraper — monitor public B2B service-provider reviews.
- TrustRadius Reviews Scraper — enrich B2B software reputation research.
Use FeaturedCustomers Customer References Scraper when customer proof, named customer stories, testimonials, and public case-study documents are the primary entities you need.
FAQ
Can I submit several vendors?
Yes. Add multiple URLs to vendorUrls. The maximum reference count remains global across the run.
Are duplicate URLs charged twice?
No. Vendor slugs are deduplicated before requests, and records are deduplicated by reference type plus reference ID before charging and saving.
Can I extract only testimonials?
Yes. Set referenceTypes to ["testimonial"].
Can I use a case-studies URL while requesting testimonials?
Yes. URLs identify the vendor; referenceTypes controls the requested output. This keeps all input URL forms consistent.
Does maxItems guarantee that many rows?
No. It is an upper bound. A vendor may expose fewer public references than the requested limit.
Does the Actor scrape locked cards?
No. Locked and blurred placeholders are intentionally excluded.
How should I detect new records?
Use the pair referenceType and referenceId as the stable run-to-run key, then compare snapshots.