Source connector
Yotpo connector
Yotpo integration for databases, warehouses and BI tools
Reviews and loyalty marketing for e-commerce brands. Datrise captures Yotpo entities such as reviews, loyalty members, redemptions, and campaign events, then lands normalized and typed models for warehouse reporting, attribution, and AI workflows.
The Yotpo UGC API (Reviews, v1) authenticates with OAuth 2.0, incremental runs key on since_updated_at, and Yotpo caps calls at 5,000 requests/minute per app key on the reviews list/search endpoints; some endpoints (e.g. All-Bottomline) allow 30,000 requests/minute per IP instead.
Of the 4 objects, 3 sync as upserts keyed on the primary key and 1 as append-only streams, so each incremental run moves only what changed since the last watermark. Every object lands in its own table (for example `yotpo_reviews`) with a schema derived from the Yotpo API rather than a flattened CSV, in any of the 43 supported destinations.
Datrise is in early access: pick a destination below to open the Yotpo pipeline page, and join the waitlist to get the Yotpo connector (Marketing) with guided onboarding.
What Yotpo data Datrise extracts
Each object lands in its own typed table. Sync mode is derived from the object: history-style objects append, everything else upserts.
| Object | Landing table | Sync mode |
|---|---|---|
| reviews | yotpo_reviews | Upsert by primary key, incremental on updated-at |
| loyalty members | yotpo_loyalty_members | Upsert by primary key, incremental on updated-at |
| redemptions | yotpo_redemptions | Upsert by primary key, incremental on updated-at |
| campaign events | yotpo_campaign_events | Append-only, incremental by timestamp |
Yotpo API: setup facts for the connector
Verified against the vendor documentation on 2026-09-28. Unknown values are left blank rather than guessed.
| API | Yotpo UGC API (Reviews, v1) |
|---|---|
| Authentication | OAuth 2.0 — POST your Store ID (`client_id`) and API Secret (`client_secret`) with `grant_type: client_credentials` to `/oauth/token` to get a bearer access token (utoken), then send it as `X-Yotpo-Token` on every call. |
| Pagination | page — `page` + `count` on `GET /v1/apps/{store_id}/reviews` (count default 10; docs recommend up to 100 per request); no cursor token. |
| Rate limit | 5,000 requests/minute per app key on the reviews list/search endpoints; some endpoints (e.g. All-Bottomline) allow 30,000 requests/minute per IP instead |
| Incremental cursor | since_updated_at — `since_updated_at` (date granularity) filters reviews by last-update date; Yotpo documents up to a 1-hour indexing delay before new or changed reviews appear. |
| Webhooks | Yes — review_create / review_updated webhooks (Yotpo must enable webhook compatibility on request) |
| Bulk export | No |
| Deletes detectable | Yes — `deleted=true` on the reviews list endpoint includes unpublished/deleted reviews, so a connector can diff review IDs between syncs to catch removals |
What bites when replicating Yotpo
- Access tokens expire and calls then fail with 401; a connector must catch that and re-request a token from `/oauth/token` rather than treating it as a fatal auth failure.
- Rate limits are set per endpoint, not per account: the reviews list/search endpoints cap at 5,000 requests/minute per app key while others (e.g. All-Bottomline) allow 30,000/minute per IP, so a connector can be throttled on one resource well before another.
- Enabling webhooks requires contacting a Yotpo representative, only one webhook per event type is allowed, and `review_updated` does not fire for image publishing, review tagging, GDPR anonymization, or deletion by support staff — those removals are only visible by diffing `deleted=true` list results, not the webhook.
- Loyalty & Referrals (loyalty members, points, redemptions, VIP tiers, campaigns) is a separate product on a separate host (`loyaltyapi.yotpo.com` / `loyalty.yotpo.com`) authenticated with its own `X-GUID` + `X-API-KEY` headers and its own 1,500 requests/minute limit; this file covers only the Reviews/UGC API, and a Loyalty connector needs a second, separately provisioned credential pair.
Popular destinations for Yotpo
Choose a destination below to open the ready pipeline page.
- AAirtable
Relational spreadsheet destination for ops and go-to-market teams.
View pipeline - AAmazon Athena
Serverless SQL over S3 data lake tables.
View pipeline - AAmazon DynamoDB
Serverless key-value and document store on AWS.
View pipeline - AAmazon QuickSight
AWS serverless BI with SPICE and embedded analytics.
View pipeline - AAmazon Redshift
AWS petabyte-scale warehouse with Spectrum.
View pipeline - AAmazon S3 Data Lake
Object storage landing zone for parquet and snapshots.
View pipeline - AApache Superset
Open-source BI for SQL exploration, charts, and dashboard publishing.
View pipeline - AAzure Data Lake Storage
ADLS Gen2 object storage for analytics workloads.
View pipeline - AAzure Synapse
Microsoft analytics workspace with SQL pools.
View pipeline
Yotpo connector FAQ
- What Yotpo data does the connector extract?
- 4 objects: reviews, loyalty members, redemptions and campaign events. Each lands in its own table with types preserved; history-style objects (1: campaign events) load as append-only streams.
- Is the Yotpo integration incremental?
- Yes. After the initial full load, every run reads only records changed since the last watermark (updated-at or event timestamp) and applies an upsert or an append depending on the object.
- Where can I load Yotpo data?
- Into 43 destinations: relational databases, cloud warehouses, data lakes, spreadsheets and BI tools. Each Yotpo → destination pair has its own page with the object-to-table mapping.
Related Marketing sources
Other sources in the same category, each with its own connector page.
Early access
Launch your Yotpo pipeline with guided onboarding
Join the waitlist to get priority access for Yotpo integrations with guided setup, schema-aware mapping, and production-grade incremental sync.