Etsy

Etsy

Let AI connect your sources for you

Skip the manual setup — run this in your project and the wizard auto-detects your databases and APIs and connects them to PostHog.

Learn more
PostHog Wizard hedgehog

Connect Etsy to PostHog to sync your data into the PostHog data warehouse for analysis and modeling.

Sync your Etsy shop's orders, listings, reviews and payment ledger into the PostHog Data warehouse.

Register a personal app in the Etsy developer portal to get a keystring, then run Etsy's OAuth flow to grant your shop and keep the refresh token it returns. The token needs the transactions_r, listings_r and shops_r scopes — add billing_r if you want the payment ledger. Leave the shop ID blank and we'll use the shop the token belongs to.

Configuration

OptionTypeRequired
API keystringpasswordYes
Refresh tokenpasswordYes
Shop IDtextNo

Linking Etsy to PostHog

  1. Go to the Data pipeline page in PostHog
  2. Click New source and select Etsy
  3. Fill in the required configuration fields
  4. Click Next, select the tables you want to sync, and then press Import

Supported tables

TableDescriptionSync methodIncremental fieldPrimary key
shop

The Etsy shop this connection syncs, including its policies, currency and listing counts.

Full refresh
shop_sections

Seller-defined sections used to group listings within the shop.

Full refresh
listings

Every listing in the shop across all states (active, inactive, sold out, draft and expired).

Full refresh
receipts

Orders placed with the shop, one row per receipt, with buyer, shipping, totals and status.

Incremental, Full refreshupdated_timestamp, created_timestamp
transactions

Line items on shop orders, one row per purchased listing, expanded from the receipts payload.

Full refresh
reviews

Buyer reviews left on the shop's transactions, one row per reviewed transaction.

Incremental, Full refreshcreated_timestamp
ledger_entries

Payment account ledger: every credit and debit against the shop's Etsy Payments balance, including sales, fees, refunds and payouts.

Incremental, Full refreshcreated_timestamp