Sample Datasets

Download realistic, safely anonymized sample data for Shopify, Amazon, Stripe, and more. Perfect for testing your workflows and validating our browser-based cleaning tools.

Shopify Order Export Sample CSV (Dirty + Clean)

A production-realistic Shopify order export (200 rows) covering the exact scenarios that break data pipelines: multi-line items (one order → multiple rows), partial refunds, mixed fulfillment statuses, and discount code stacking. The 'dirty' version contains trailing whitespace on emails, HTML entities (&) in Lineitem name, and timezone-naive Created at timestamps that shift order dates by ±12 hours during UTC conversion. The 'clean' version normalizes all fields to warehouse-ready format. Perfect for testing ShipStation ERP imports, QuickBooks reconciliation, or Shopify API mock data. All processing happens locally in your browser — your order data never leaves your machine.

ShopifyView dataset

Amazon FBA Settlement Report Sample TSV (Dirty + Clean)

A representative Amazon Seller Central settlement report (150 transactions, TSV format) covering all critical row types: Orders, Refunds, FBA Fees, Adjustments, and Transfers. The 'dirty' version includes Transfer rows (which cause double-counting if not filtered), TSV tab delimiters that Excel silently converts to spaces, and amount-description values with embedded commas that break re-parsing. The 'clean' version collapses to a profit summary ready for QuickBooks import. Ideal for auditing FBA fees or testing automated profit calculation scripts without exposing actual store revenue. All processing runs locally — your financial data never touches a server.

AmazonView dataset

Apollo.io B2B Leads Export Sample CSV (Dirty + Clean)

A realistic Apollo.io lead list (300 contacts) engineered with the exact data quality issues that destroy cold email deliverability. The 'dirty' version includes: duplicate emails from overlapping searches, role-based addresses (info@, admin@) that trigger spam filters, catch-all domains falsely marked as 'verified', and mixed-case names resulting in 'Hi jOHN' personalization disasters. The 'clean' version shows the output after deduplication and name normalization. Ideal for testing cold email platform imports (Instantly, Smartlead) to protect domain reputation, or CRM deduplication workflows in HubSpot and Salesforce. All processing happens locally — your lead data stays private.

ApolloView dataset

Zendesk Tickets Export Sample CSV (Dirty + Clean)

A production-realistic Zendesk support ticket export (5,000 rows) engineered to expose edge cases that break naive CSV parsers and ETL pipelines. The critical Zendesk quirk: Description and Comments fields contain embedded CRLF (\r\n) line breaks from customer emails. Parsers that don't respect RFC 4180 quoting rules will split a single ticket into multiple invalid records. The 'dirty' version includes embedded newlines, null assignees for unassigned tickets, and UTF-8 characters (é, ñ, ü) without a BOM header causing mojibake in Windows Excel. Perfect for testing ETL robustness (Fivetran, Python), RFC 4180 compliance, and helpdesk migrations (to Freshdesk/Intercom). Your support data is processed 100% locally — nothing uploaded.

ZendeskView dataset

HubSpot Contacts Export Sample CSV (Dirty + Clean)

A realistic HubSpot contact export (8,500 rows) covering data quality issues that break CRM migrations and warehouse schemas. The HubSpot-specific quirk: multi-select custom properties and system fields (like Lead Status) are exported as semicolon-separated strings (e.g., 'New;Qualified;SQL'). Data engineers unfamiliar with this will split fields incorrectly, destroying the taxonomy. The 'dirty' version includes semicolon strings, emails with trailing whitespace (causing duplicate re-imports), and inconsistent company casing breaking ABM segmentation. Ideal for testing CRM migrations (to Salesforce), Reverse-ETL dry runs, and building Dim_Contacts schemas. All cleaning happens locally — your contact database stays private.

HubspotView dataset

Salesforce Leads Export Sample CSV (Dirty + Clean)

A production-realistic Salesforce lead export (6,200 rows) engineered to expose validation errors that crash Data Loader bulk imports. The Salesforce quirk: strict validation on restricted picklists like LeadSource means even a single invisible character triggers INVALID_OR_NULL_FOR_RESTRICTED_PICKLIST errors. The 'dirty' version includes LeadSource values with zero-width spaces (U+200B) invisible in Excel, malformed 15-character Lead IDs missing the checksum suffix (causing upsert failures), and embedded commas in company names breaking CSV parsing. Perfect for testing API integrations, Data Loader workflows, and Marketing Automation migrations. Process everything locally — your lead data never touches a server.

SalesforceView dataset

Mailchimp Audience Export Sample CSV (Dirty + Clean)

A realistic Mailchimp subscriber export (12,000 rows) covering inconsistencies that break ESP migrations and cohort analytics. The Mailchimp quirk: OPTIN_TIME is frequently blank for API-imported contacts (bypassing native double opt-in). This causes pandas to_datetime() and SQL date-parsers to throw NaT or NULL errors. The 'dirty' version includes 4,800 blank OPTIN_TIME values, mixed date formats (MM/DD/YYYY vs YYYY-MM-DD in same column), and emails with trailing spaces ruining engagement calculations. Ideal for ESP migration dry runs (to Klaviyo/ActiveCampaign) and deliverability audits. All processing happens locally — your subscriber list stays private.

MailchimpView dataset

GA4 Raw Event Data Sample CSV (Dirty + Clean)

A production-realistic Google Analytics 4 event export (15,000 rows) mirroring the BigQuery export schema. The GA4 quirk: event_timestamp is stored in microseconds (16-digit integers), not milliseconds. Data engineers who treat these as Unix epoch milliseconds will shift all event dates to year 53,000+, destroying time-series analysis. The 'dirty' version includes microsecond timestamps, null user_pseudo_id rows (bot traffic / consent denied), and event_params encoded as nested JSON strings that break flat-file parsers. Perfect for testing analytics engineering workflows, dbt model validation, and Looker Studio dashboards. Process everything locally — your analytics data never leaves your browser.

GoogleView dataset

Stripe Balance Transactions Sample CSV (Dirty + Clean)

A production-realistic Stripe Balance Transactions export (7,500 rows) covering accounting edge cases that break financial reporting. The critical Stripe quirk: fee sign convention inverts depending on transaction type. For charges, fee is negative; for refunds/disputes, fee becomes positive. Naive SUM aggregations double-count these reversals, silently inflating P&L by 10-20%. The 'dirty' version includes UTC-forced timestamps causing PST/EST date-cut mismatches, values stored in cents, unescaped commas in descriptions, and missing UTF-8 BOMs causing €/£ mojibake. Perfect for testing SaaS P&L report accuracy, QuickBooks reconciliation, and building Net Revenue dashboards in Looker Studio. Your financial data is processed 100% locally — nothing uploaded.

StripeView dataset

Facebook & Meta Ads Campaign Report Sample CSV (Dirty + Clean)

A production-realistic Meta Ads Manager campaign export (3,200 rows) covering formatting issues that break ROAS calculations. The Facebook Ads quirk: Amount spent and CPC values inconsistently include the $ currency prefix depending on account regional settings. When pandas or DuckDB attempts SUM on these columns, the $ prefix forces the entire column to string type, returning zero or throwing type-cast errors. The 'dirty' version includes currency-prefixed cells, zero-spend zombie ads with impressions > 0, inconsistent campaign naming (Summer_Sale vs SUMMER-SALE), and mismatched date formats. Ideal for testing ROAS pivot tables and cross-platform merges. All processing happens locally — your ad spend data stays private.

FacebookView dataset

Google Ads Keyword Report Sample CSV (Dirty + Clean)

A production-realistic Google Ads keyword performance export (4,800 rows) covering structural issues that silently destroy automated CSV parsers. The Google Ads quirk: the CSV prepends two metadata rows before the actual header. Row 1 = report title, Row 2 = date range. When pandas reads this with pd.read_csv(), it treats the title as the header, causing every df['Clicks'] reference to throw KeyError unless skiprows=2. The 'dirty' version includes metadata header/footer, 1,120 zero-impression zombie keywords, Cost values with $ symbols, and special characters (+, []) in keyword text denoting match types. Perfect for testing ETL parser robustness (Supermetrics, Funnel.io) and account pruning workflows. Process everything locally — your PPC data never leaves your browser.

GoogleView dataset

WooCommerce Orders Export Sample CSV (Dirty + Clean)

A production-realistic WooCommerce order export (6,300 rows) covering data quality issues that break platform migrations and ERP integrations. The WooCommerce quirk: Line Items and Order Notes fields frequently contain raw HTML markup (<br>, <p>, <strong>) and embedded CRLF line breaks. When a customer leaves a multi-paragraph note, naive parsers split a single order into multiple invalid rows at every unescaped newline. The 'dirty' version includes HTML-infested notes, multi-product lines separated by pipe characters (|), and missing UTF-8 BOMs causing accented names (Müller) to render as mojibake. Perfect for WooCommerce-to-Shopify migrations and ERP/OMS order imports. All cleaning happens locally — your order data stays private.

WoocommerceView dataset

Klaviyo Master Subscriber List Sample CSV (Dirty + Clean)

A production-realistic Klaviyo profile export (9,400 rows) covering structural quirks that break ESP migrations and GDPR compliance audits. The Klaviyo quirk: the $consent column exports as a semicolon-delimited string (e.g., 'email; sms'), not a simple boolean. ESP migration tools expecting true/false will reject multi-channel consent. Additionally, $bounce_type requires careful null handling. The 'dirty' version includes 1,240 $consent cells with semicolon strings, 680 Hard bounce rows that must be excluded, duplicate emails with different Person IDs, and inconsistent First Name casing (JoHn) ruining personalization. Ideal for ESP migration dry runs (to Mailchimp/ActiveCampaign) and deliverability audits. All processing happens locally — your subscriber data never leaves your browser.

KlaviyoView dataset