Shopify & WooCommerce Database | 73M+ Records, Emails & Phones avatar

Shopify & WooCommerce Database | 73M+ Records, Emails & Phones

Pricing

from $3.00 / 1,000 store records

Go to Apify Store
Shopify & WooCommerce Database | 73M+ Records, Emails & Phones

Shopify & WooCommerce Database | 73M+ Records, Emails & Phones

Find indexed ecommerce and website records with available emails, phones and technology filters. 73.9M+ overlapping source rows checked 8 Nov 2026. Export CSV, JSON or Excel. $3/1K records; start fee extra, platform usage included.

Pricing

from $3.00 / 1,000 store records

Rating

5.0

(1)

Developer

Apivault Labs

Apivault Labs

Maintained by Community

Actor stats

4

Bookmarked

562

Total users

90

Monthly active users

0.12 hours

Issues response

a day ago

Last modified

Security

Limited permissions

Share

Shopify & WooCommerce Database — Indexed Websites & Contacts

Find indexed ecommerce and website records with available business emails, phones, social profiles and technology fields. Filter your audience and export JSON, CSV or Excel. $3 per 1,000 delivered records on every Apify plan, plus a $0.00005 start event per GB of memory, minimum one event. Platform usage is included.

Current database coverage — 8 November 2026

73,945,411 source rows across 118 segments, checked on the default source with zero failed segments. These are overlapping indexed rows: they are not 73.9 million unique stores or email contacts. Source labels do not independently confirm the current technology of every domain.

Platform audiences across connected datasets

These are fresh count-only results from the linked platform-specific Actors, which search platform evidence across source groups. A source segment is not the total audience for that platform. For example, WordPress records also occur in WooCommerce and mixed datasets, including retained WordPress imports.

PlatformMatching indexed records before domain deduplicationFull platform search
WordPress35,960,218WordPress Leads Database
Shopify10,262,918Shopify Leads Database
Wix9,021,531Wix Leads Database
WooCommerce8,770,881WooCommerce Leads Database
Squarespace3,051,513Squarespace Leads Database
PrestaShop182,830PrestaShop Leads Database
Magento143,751Magento Leads Database
BigCommerce91,185BigCommerce Leads Database

Counts were checked on 8 November 2026, with zero failed segments. They are not distinct-domain or contact counts. Platform audiences overlap: do not add these rows together. Some WordPress records have stored CMS evidence; older WordPress-labelled imports use source provenance and can have an empty CMS field. Neither is a live technology check.

For the full audience in a row above, use its linked platform-specific Actor. In this database, the Platforms selector chooses source segments. Selecting only the WordPress source segment covers 15,541,544 source rows, not all WordPress records in other segments. Select All platforms and apply stored-field filters for a cross-source query; the dedicated WordPress Actor also includes recognized WordPress imports without a CMS value.

Source-segment sizes

The following table describes where rows are stored, rather than the full detected audience for each technology. Mixed website datasets include websites from multiple platforms, and are not an additional audience to add to the totals above.

Source segmentIndexed records
Mixed website datasets18,545,484
WordPress15,541,544
Wix8,933,266
Shopify6,791,036
WooCommerce6,453,567
ASP.NET4,634,484
Mastercard4,566,955
WooCommerce Checkout3,515,371
Squarespace2,910,447
Mailchimp918,773
Joomla767,893
PrestaShop173,680
Magento105,302
Angular50,942
BigCommerce36,667
Total source rows (overlap possible)73,945,411

Counts describe the snapshot checked on 8 November 2026, not a guarantee of daily growth, unique domains or available contacts. Use contact and technology filters for your audience.

73.9M+ indexed website records with emails, phones, tech and traffic

Continue an export

Open the completed run's Key-Value Store and copy the complete resumeInput from EXPORT_CONTINUATION into the next run. Keep its filters, dataSource, sourceSession and exportCursor together. You can adjust maxItems to choose the next page size.

An offset by itself is accepted. If this run already has a saved source session, it reuses that copy. Otherwise it selects the currently ready copy and skips the requested number of eligible results. For a continuation tied to the previous export, use the complete resumeInput. Live changes can affect pages even when the source copy is pinned.

Try 10 Shopify stores with business emails →


Shopify leads → CSV or Google Sheets

Follow the step-by-step guide and import the manual n8n template.

Start with 10 Shopify stores, export available business contacts to CSV, and optionally connect your own Google Sheets account. The guide explains cost controls, source coverage and recovery of the same completed run without another Actor start. Actor charges apply; contact availability and deliverability are not guaranteed.


AI agent quick start

Actor tool ID: apivault_labs/website-leads-database

Platform selections identify source datasets, not a guaranteed technology on every individual website. Use the returned technology fields when you need an exact CMS, commerce platform, payment provider or framework match.

For reliable autonomous calls, always send workflow, platforms, maxItems and an outputPreset. Keep dedupeByDomain: true. Start with 10–50 rows; use workflow: "count" before requesting a large export. Use outputPreset: "custom" only when you need to supply an exact columns list. An empty dataset is a valid successful result—read SUMMARY to distinguish NO_RESULTS, partial data, invalid input and a spending-limit stop.

Choose the input deterministically:

User intentInput contractPrimary output
Find Shopify or platform-specific storesworkflow=export + explicit platforms + a small maxItemsOne lead per website
Find leads in a countryplatforms + ISO-2 countryFiltered website leads
Require contact datahasEmail=true and/or hasPhone=trueContactable leads only
Filter any known fieldStructured filters using an allowed column and operatorRows matching every condition
Estimate audience sizeSame filters + workflow=countCOUNT_SUMMARY, no dataset rows
Continue a capped exportCopy resumeInput from EXPORT_CONTINUATIONNext deterministic page

Minimal agent-safe request:

{
"workflow": "export",
"platforms": [
"shopify_sites"
],
"country": [
"US"
],
"hasEmail": true,
"sortBy": "Tranco",
"sortDesc": false,
"dedupeByDomain": true,
"maxItems": 25,
"outputPreset": "contacts"
}

Agent rules:

  • Use exact platform enum values such as shopify_sites; never invent table names.
  • Prefer compact, contacts, sales, traffic, or full; use custom only with an explicit columns list.
  • Use exact case-sensitive output column names, including spaces.
  • Every filters item must contain an allowed column and operator.
  • All filters are combined with AND. in_list accepts a comma-separated string.
  • Contact and technology fields are semicolon-separated strings, not JSON arrays.
  • Counts are segment-row counts and can include cross-platform overlap.
  • Read SUMMARY after every run. If isComplete=false, inspect ERRORS or EXPORT_CONTINUATION before presenting the result as complete.
  • Never treat a missing optional field as proof that the company has no such data.

Use through Apify MCP

Expose only this Actor to an MCP-compatible agent:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=apivault_labs/website-leads-database"
}
}
}

OAuth is recommended. Example prompt: Use apivault_labs/website-leads-database to return 25 US Shopify stores with business emails. Request only domain, company, email, phone, country and ecommerce-platform fields.

The default dataset contains paid lead rows. SUMMARY, ERRORS, COUNT_SUMMARY and EXPORT_CONTINUATION are diagnostic Key-Value Store records and are never inserted as fake leads.


Choose your source segments

The coverage table at the top shows the current default source. Select All platforms (default) or pick one or more.


What you get per site

  • Domain & company — Root Domain, Primary Domain, Company, Vertical
  • Contact data — Available business emails, Telephones (international format), Owner/People
  • Social profiles — Facebook, Instagram, LinkedIn, X/Twitter, TikTok, YouTube, Pinterest, GitHub, Vimeo, Threads, Weibo, Vk
  • Firmographics — Sales Revenue, Employees, SKU count, Technology Spend, Ticker
  • Tech stack — eCommerce Platform, CMS Platform, CRM Platform, Marketing Automation, Payment Platforms, Hosting Provider, AI tools
  • Rankings & performance — Overall Score, Tranco, Page Rank, Majestic, Umbrella, CRuX Rank, Cloudflare Rank, Performance, Accessibility, SEO, Best Practices
  • Geo — City, State, Zip, Country
  • Other — Has Ads, Agency, Compliance, Exclusion, Verified Profiles
  • Optional traffic enrichment — Monthly Visits, Global Traffic Rank, Traffic Growth, Bounce Rate, Pages per Visit, Average Visit Duration, Search/Direct/Social/Ads/AI Traffic Share and Traffic Data Date

Leave Output columns empty to get all exported core fields, or select only the ones you need. Add website traffic data is optional and disabled by default so ordinary exports stay fast. Enable it when visits and acquisition-channel estimates are required; covered domains are enriched in large batches and unmatched domains remain valid leads with empty traffic fields.

To build a traffic-qualified prospect list, enable Only sites with traffic data, set optional Minimum/Maximum monthly visits, or choose a monthly visits sort order. These controls automatically enable enrichment. Rows outside the requested range are removed before they reach the Dataset, so they are not charged as exported leads. Traffic-filtered pagination uses the returned eligible rows and the copy-ready resumeInput in EXPORT_CONTINUATION.


Filters

Set filters before starting a run. Filtering a downloaded dataset is local; a new Actor run has its own applicable charges:

FilterHow it works
CountriesOne or more ISO-2 codes (DE, US, IT…)
KeywordSubstring match in domain or company name
Only with emailSkip sites without an available email
Only with phoneSkip sites without a phone number
Phone country codeE.g. +44 — keeps sites with at least one matching phone
Extra filtersJSON conditions on ANY column — equals, contains, starts_with, in_list, not_empty and more (9 operators). Combine multiple conditions with AND.
Only sites with traffic dataExcludes websites without a traffic estimate and automatically enables enrichment.
Monthly visits rangeOptional minimum and maximum estimated monthly visits; unmatched rows are excluded before billing.
Traffic orderOrder each selected export window from highest or lowest monthly visits.

Example extra filter

[
{
"column": "Payment Platforms",
"operator": "contains",
"value": "PayPal"
},
{
"column": "City",
"operator": "equals",
"value": "Berlin"
}
]

Sorting & limits

Default exports keep a round robin across selected source segments, with each segment ordered by Root Domain for repeatable pagination. This is not a global domain sort. Explicit sorting keeps its chosen field and Root Domain tie breaker. After upgrading from 0.17.13 or earlier, restart unsorted exports at offset 0: the default order has changed, and older signed source sessions are rejected. Live database changes can still affect offsets; this is not an immutable snapshot.

For a contact-only export, select the fields you need and leave includeTrafficData off unless you also need traffic estimates. Traffic lookup adds work even when the selected core columns are only domain and email. A warmed source reduces cold-start delays; it does not cache every filtered result or make large Dataset writes instantaneous. SUMMARY.performance records initial source-fetch time, page-query work, output-write time and rows replayed for an offset. Page-query times are summed across concurrent queries, so they are not the same as elapsed run time. Source-page sizes take the remaining paid output budget into account. Source queries and extra look-ahead buffers are both limited to eight; this reduces over-reading without changing the merge or charging order.

  • Sort by — Overall Score, Tranco, Sales Revenue, Employees, Technology Spend, Page Rank, SKU, Performance, SEO, Last Found. Get the top leads instead of a random slice.
  • Max rows — up to 250,000 per run. Copy the complete resumeInput from EXPORT_CONTINUATION into the next run to export another page.
  • Deduplicate by domain — removes cross-platform overlap when several source datasets are selected. Individual platform datasets are already unique.
  • Count only — preview how many sites match your filters without creating billable dataset rows. The result is saved as COUNT_SUMMARY in the run's Key-Value Store.

Continue a large export

When a run reaches Max rows or its spending limit, open the run's Key-Value Store and copy resumeInput from EXPORT_CONTINUATION into a new run. It contains the exact nextOffset, including source rows skipped by domain deduplication, so the next export does not repeat the part already processed.


Output example

Illustrative formatting only. The values below are not a current observation of these businesses or their traffic; blank fields and coverage vary in real exports.

[
{
"Root Domain": "ripcurl.com.au",
"Company": "Rip Curl",
"Country": "AU",
"City": "Torquay",
"Emails": "estore@ripcurl.com.au;service_centre@ripcurl.com.au",
"Telephones": "+61-3-0098-9014",
"eCommerce Platform": "Shopify",
"Sales Revenue": "$50M-$100M",
"Employees": "1,001-5,000",
"Overall Score": "87",
"Monthly Visits": 184200,
"Global Traffic Rank": 104312,
"Traffic Growth": 12.8,
"Bounce Rate": 41.7,
"Pages per Visit": 3.2,
"Average Visit Duration": 146.0,
"Search Traffic Share": 52.4,
"Direct Traffic Share": 31.1,
"Social Traffic Share": 8.3,
"Ads Traffic Share": 4.6,
"AI Traffic Share": 0.4,
"Traffic Data Date": "2026-08-31T00:00:00+00:00",
"_platform": "Shopify"
},
{
"Root Domain": "seawitchcandles.co.uk",
"Company": "Sea Witch Candles",
"Country": "GB",
"City": "Penzance",
"Emails": "info@seawitchcandles.co.uk",
"Telephones": "+44-1736-731035",
"eCommerce Platform": "Shopify",
"Sales Revenue": "",
"Employees": "",
"Overall Score": "",
"_platform": "Shopify"
}
]

_platform is always included so every row identifies its source segment. Traffic values are third-party estimates, not the website owner's analytics. Coverage and freshness vary by domain; always check Traffic Data Date.


Export (CSV / JSON / XML / Excel)

Every run stores results in a dataset. Download in any format — no re-run needed:

  • In the app: open the run → Storage / Export → pick format.
  • Via API: https://api.apify.com/v2/datasets/{datasetId}/items?format=csv (also json, xml, xlsx, html, jsonl).

Use cases

  • Web agencies — find businesses on outdated platforms, pitch redesigns
  • SaaS sales — target stores by tech stack, revenue or employee count
  • Lead generation — bulk export emails + phones filtered by country and vertical
  • Market research — analyze platform market share, payment adoption, geo distribution
  • SEO & marketing — discover sites by performance score, ranking, ad presence

Need leads based on an exact technology combination?

Use BuiltWith Alternative — Tech Stack Leads & Lookup to reverse-find websites using Shopify, Klaviyo, HubSpot, Stripe and other technologies with AND / OR / NOT matching, freshness filters and domain tech-stack lookup. It uses the same broad website coverage but is optimized for technology-based prospecting and competitor-user campaigns.


Data freshness

The database is expanded and re-enriched over time: new sites and platforms are added, and existing records are periodically refreshed with updated contact data, technology information, and rankings. Historical source dates are not exported.


Limitations

  • Keyword searches cover a very large dataset, so rare or highly specific searches can take longer than common filters.
  • Data availability and freshness vary by platform and field.

This Actor returns publicly available business (B2B) information — it does not access private, paywalled, or login-protected data.

Some fields (for example an email, phone number, or a person's name tied to a small business) can qualify as personal data under laws such as the EU/UK GDPR and the California CCPA/CPRA. When you run this Actor and export results, you — not Apify or the Actor developer — act as the data controller for how you use them, and you are responsible for:

  • having a lawful basis (for B2B outreach this is usually legitimate interest);
  • honoring data-subject rights (access, correction, deletion, opt-out);
  • following marketing/outreach rules (e.g. GDPR/ePrivacy, CAN-SPAM, CASL) before contacting anyone;
  • keeping the data secure and using it only for the stated purpose.

Responsible use

  • Intended for B2B lead generation, sales, and market research — prefer business contacts (e.g. info@, contact@) over personal details.
  • Do not use the data for spam, harassment, or any purpose prohibited by applicable law.
  • Comply with the privacy, marketing, and data-protection rules of the jurisdictions you operate in and target.

This section is general information, not legal advice. If you are unsure how these rules apply to your use case, consult a qualified lawyer.

Python quickstarts

Install the maintained thin client from PyPI:

$pip install website-leads-database==0.2.0

The public Python SDK and examples cover audience count, a safe 50-row sample, contact export, traffic-qualified leads and copy-ready next-page continuation. The package calls this hosted Actor through the public Apify API; it does not contain the underlying data collection or infrastructure.

Ready-to-import n8n workflow

Turn qualified website records into a CRM-ready lead stream with the maintained Website Leads n8n connector. Download the quickstart workflow, import it into n8n, add your Apify API credential, and review the safe 50-row traffic-qualified sample before increasing the limit.

Campaign recipes: from a website list to a usable lead file

Use this website leads database when you need a filtered audience before you start enrichment. An agency can choose stores it supports; a SaaS team can select businesses by known technology; a researcher can export a documented sample. The useful output is a website record with the fields you requested. It is not a promise that every business is active, every contact belongs to a decision maker, or every stored technology is still installed.

GoalRecommended first passReview before scaling
Shopify agency prospectingShopify source, one country, email required, Contacts presetConfirm platform in returned fields and review a few sites
WordPress maintenance prospectingWordPress source, country and contact filtersA WordPress record alone does not establish a maintenance problem
Ecommerce technology researchAppropriate sources plus a structured technology conditionSegment labels describe provenance; technology columns describe stored observations
Traffic-qualified partner researchEnable traffic coverage and a visits rangeCheck the traffic observation date and coverage gaps
CRM list preparationSmall export, stable domain key, only required columnsSeparate existing CRM domains from genuinely new accounts

Count a Shopify audience before buying a large export

This request produces count diagnostics rather than paid website rows. The start event still applies. Use the same country, platform and contact filters when changing the workflow to export. Counts can include overlapping source rows; they are not a verified number of unique reachable customers.

{
"workflow": "count",
"platforms": [
"shopify_sites"
],
"country": [
"GB"
],
"hasEmail": true,
"maxItems": 10,
"outputPreset": "contacts"
}

Export a small WordPress agency list

Select the WordPress dataset explicitly. Keeping the first batch small lets you inspect company, country and contact coverage before increasing the budget. This input performs database selection, not a fresh crawl of each website.

{
"workflow": "export",
"platforms": [
"wordpress_sites"
],
"country": [
"DE"
],
"hasEmail": true,
"dedupeByDomain": true,
"maxItems": 10,
"outputPreset": "contacts"
}

Find Shopify records with a stored payment technology

Structured filters must sit inside the input's filters array. Use the exact case-sensitive column name. All conditions are ANDed, so a narrow country, technology and contact combination may legitimately return no matches.

{
"workflow": "export",
"platforms": [
"shopify_sites"
],
"hasEmail": true,
"filters": [
{
"column": "Payment Platforms",
"operator": "contains",
"value": "PayPal"
}
],
"dedupeByDomain": true,
"maxItems": 10,
"outputPreset": "sales"
}

Build a traffic-qualified ecommerce shortlist

The visits threshold applies to stored estimates. It does not measure the store's sales, conversion rate or advertising budget. Unknown traffic is excluded when onlyWithTrafficData is enabled. Start with a modest page size: traffic filtering may inspect more underlying records than it finally returns.

{
"workflow": "export",
"platforms": [
"shopify_sites"
],
"onlyWithTrafficData": true,
"minMonthlyVisits": 10000,
"trafficSortOrder": "highest",
"hasEmail": true,
"maxItems": 10,
"outputPreset": "traffic"
}

Pricing a website lead export

Pricing checked against the active configuration on 8 November 2026:

Apify planPer 1,000 delivered recordsPer delivered rowTen rows plus one start event
All plans$3.00$0.003$0.03005

The Actor Start event is $0.00005 per memory unit, minimum one unit. Platform usage is included in this Actor's event-price arrangement; it is not an additional user-paid PPE usage charge in the active configuration. The Pricing tab is authoritative for your account. The examples above are event arithmetic, not measured run totals or a guarantee of ten matching records.

Downloading the same completed dataset again does not start the Actor or buy the same rows again. Starting another export is a new run and can return previously delivered domains. Save the run ID and dataset ID so recovery can read an existing file before creating another job.

Frequently asked questions about website leads

Can I get a list of Shopify stores with email addresses?

Yes: select shopify_sites, require hasEmail, and use Contacts output. The email field contains available stored contacts, which may include general business inboxes. It does not establish ownership, consent, mailbox activity or a named purchasing contact. Verify the accounts you intend to use.

Why did I receive fewer rows than maxItems?

maxItems is an upper limit, not an audience-size guarantee. Filters, deduplication, unavailable sources and the run spending limit can reduce the result. Read SUMMARY and ERRORS before deciding whether to narrow or retry. Use the continuation supplied by the run rather than guessing the next offset.

Can I combine Shopify, WooCommerce and WordPress in one run?

Yes. Keep domain deduplication enabled when combining supported source platforms. A domain can occur in more than one source, and a database snapshot can contain an older platform assignment. Review returned technologies if your campaign requires one current platform.

Is this a company revenue or email verification API?

Revenue and company-size fields are stored business signals, with incomplete coverage. Contact availability is separate from email deliverability. Use a dedicated verification step and independent account review when those facts are essential to your workflow.

How do I continue the workflow in my CRM?

Export Contacts or a custom set of columns, use Root Domain as the account key, and split semicolon-separated contact values deliberately. Preserve observed dates and provenance alongside your own notes. The linked Python and n8n examples provide a starting point; importing a dataset does not automatically enrich every missing contact or synchronize deletions.

Default warmed source and optional standard index

New exports default to dataSource: "warmed". The restored registry includes the previously omitted relocated platform tables and additional copied segments, including Mailchimp. It also retains 17 additional segments from the previous warmed registry rather than discarding those records. Standard remains available as dataSource: "standard". On 8 November 2026, the checked default registry contained 73,945,411 overlapping source records across 118 segments; the explicit Standard index contained 70,260,298 across 101. Use a count on the selected live copy before an export; source updates can change this number. This is not a guarantee of unique websites, complete optional enrichment or deliverable contacts.

The server checks every registered source table in the scheduled copy before reporting the restored generation ready. It keeps database compute awake and reads a small table sample; it does not cache complete export results. New exports require the restored readiness generation. Existing standard exports continue with their explicit source choice.

Start with a count, then export a small sample:

{
"dataSource": "warmed",
"platforms": [
"bigcommerce_sites"
],
"countOnly": true,
"maxItems": 3
}

Set countOnly to false to receive paid lead rows. Existing prices apply in both modes. A count produces no paid Dataset rows; startup charges still apply. Warming removes some database wake-up delay. It does not cache every record, guarantee a response time, update contacts, or verify a website is still live.

The server chooses a ready copy for each new warmed export. The choice is saved before querying. To continue, copy the entire EXPORT_CONTINUATION.resumeInput, including dataSource and sourceSession. This keeps the same source copy after a server rotation or Actor migration. Resuming an older copy may involve a cold connection. Do not combine an offset from one source with a fresh selection or change search filters under its saved session. The signature protects the continuation from accidental changes; it is not an authorization token for unpaid data access.

The copies contain live data and can differ in optional enrichment fields. Pinning a copy does not make it an immutable snapshot: inserts, deletions or filter-changing updates can still affect offset pagination. Use small pages and deduplicate domains in your destination when continuous updates matter. No absolute exactly-once or gap-free export is promised.

If a warmed route is unavailable, stale or only partly ready, the Actor stops before paid delivery with WARM_SOURCE_UNAVAILABLE or WARM_SOURCE_NOT_READY; it does not silently switch to another source. Invalid or changed sessions have SOURCE_SESSION_* diagnostics in SUMMARY/ERRORS. Choose Standard explicitly for a new export if the warmed copy is unavailable. Inputs without dataSource use the warmed default; an explicit Standard selection keeps the original source.

Unavailable optional columns in a copy are returned as null. A missing column does not trigger enrichment and is not replaced with invented values. Raw source credentials, server tokens and connection strings are never part of the input form or Dataset. The Actor does not create or modify a warm-up schedule.

The new source controls are available through Apify Input/API. Existing n8n or Python clients may need a raw Actor input call to pass the additional fields; their installed user interfaces are not upgraded by this Actor build.

n8n and developer integrations

Use this Actor in your automation or application with the existing community integrations below. An Apify account and API token are required; Actor and platform charges follow the current pricing.

  • n8n community node: n8n-nodes-apivault-shopify-finder. Install package name n8n-nodes-apivault-shopify-finder in a self-hosted n8n instance that permits community packages.
  • n8n source and usage: GitHub.
  • Python client and examples: GitHub.
  • n8n source and usage: GitHub.

These are community packages. Publication on npm does not establish n8n verification or availability in n8n Cloud. Review the linked package README for supported inputs and setup.

Candidate continuation checkpoint

When EXPORT_CONTINUATION.resumeInput includes exportCursor, copy the complete input to the next run. You may change maxItems. The signed checkpoint restores segment positions and domain deduplication instead of rereading previous results. It is tied to your account, selected source and filters, and expires after 24 hours. The Actor creates a private checkpoint store in your account and reuses it across runs without requesting full account permissions. Keep that store until your export is finished. Expired records are removed by a bounded sweep on later exports. Source tables are live: this checkpoint does not create an immutable snapshot or prevent live inserts/deletions from moving SQL positions. Legacy offset inputs remain supported. Traffic filtering/sorting and checkpoints beyond 100,000 retained domain hashes use the existing offset continuation. Runtime speed depends on filters, fields, source availability and Dataset writes; no new speed claim is made before the candidate benchmark.

Faster bulk exports in one run

Large exports use parallel source reading by default. Start the Actor normally: results go to one Dataset, with one result event per accepted row. No child runs are started. For comparison or troubleshooting, select Export speed → Standard (parallelReaders: "1"); the default is parallelReaders: "7". Small exports keep standard reading. Switching this setting does not invalidate a saved source session or export checkpoint.

The run spending limit is still authoritative. If the allowed charge covers fewer rows than requested, the run returns that affordable portion and supplies EXPORT_CONTINUATION.resumeInput. Parallel reading does not increase the spending limit or automatically create more paid runs. Copy the complete resume input to continue. Runtime depends on the selected data, filters, fields and database load. The earlier seven-run client benchmark is a different workflow and is not a speed claim for this built-in mode. Current candidate timings are recorded separately.

Indexed technology observations

Select Technology output preset (or the optional Tech Checked At, Tech Verification Status, Tech Detected Stack, Tech Evidence columns) to export the observation available in the selected index. Missing metadata is returned as null. verified describes the stored observation, not a new live verification or a guarantee that the site is unchanged today.

{
"platforms": [
"mixed_sites"
],
"outputPreset": "technology",
"maxItems": 5
}

Full/empty-column output omits the four historical First/Last source dates while retaining its existing cursor context. Different output selections require a new export. Collector profiles become visible only after a checked source integration is activated; the collector row total is not the count of additional unique leads. Actor event prices and one useful returned domain = one result event are unchanged.

Exported source dates

The historical First Detected, Last Found, First Indexed, and Last Indexed fields are omitted from all exported rows and CSV files, including Full output and continuation pages. Existing source-date filters and sorting still operate internally. Other observation dates, such as technology, audit and traffic checks, retain their existing behavior. Source records and stored databases are unchanged.

Legacy date column selections in saved Tasks or API inputs remain accepted for compatibility; those date values are omitted from the resulting rows.

Small first run and sparse optional fields

New exports request ten rows by default; increase maxItems after checking the sample. Some source segments lack optional columns: these fields are null, including during filters and sorting. Missing optional data is never invented or treated as verified. Missing domain identity remains an error. Counts describe source records and can overlap across segments.