Integration setup guides
Each integration delivers the products your connectors collect to one place, after every successful run of the schedule you bind it to. Credentials are encrypted when they arrive and never shown again. Pick your platform below for what it does, what you need, and where each value lives.
How delivery works
- Connect: Integrations → Connect integration → choose the platform, enter the values its guide lists, and pick the schedule it delivers after.
- Push the latest items now delivers what you already have; otherwise the next scheduled run delivers.
- Sync modes for stores (under Advanced): Additive adds and updates but never removes; Full sync also hides products that disappeared from the supplier; Price and stock only updates just those two fields.
- Products missing a title or a price are skipped and listed in the push report — never published half-empty.
- Test connection re-checks the credentials at any time. An integration whose credentials stop working is marked Invalid; connect it again with fresh ones.
Shopify
Creates products in your Shopify store and keeps their price and stock current after every scheduled run. In Full sync mode, products that disappear from the supplier are archived (hidden, never deleted).
What you need
- Your store's .myshopify.com address.
- A Shopify app that belongs to the same Shopify organization as your store, with product access. Since January 2026 Shopify creates new apps in its Dev Dashboard; a custom app created in the Shopify admin before 2026 keeps working with its access token.
Set it up
- In Shopify admin, open Settings → Apps → Develop apps → Build apps in Dev Dashboard, then Create app and give it a name.
- In the app's new version, under Access, add the scopes read_products, write_products, read_inventory and write_inventory. Release the version.
- Back in the app, choose Install app and install it on your store.
- Open the app's Settings and keep the Client ID and Client secret at hand.
- In ScrapeOra: Integrations → Connect integration → Shopify. Enter your shop domain, choose “In the Dev Dashboard — Client ID and secret”, paste both values, pick the schedule, and connect.
Where each value lives
- Shop domain
- Settings → Domains in Shopify admin lists your .myshopify.com address. Your admin link (admin.shopify.com/store/…) works too.
- Client ID and Client secret
- Your app's Settings in the Dev Dashboard. ScrapeOra exchanges them with Shopify for a short-lived access token every day, so there is nothing to renew.
- Admin API access token (apps created before 2026)
- Settings → Apps → Develop apps → your app → API credentials. It starts with shpat_ and Shopify reveals it only once — if it is lost, reinstall the app to get a new one.
What ScrapeOra updates
- Title, description, price (with your markup), SKU, stock and the main image when one is available.
- Re-delivering a product updates the one ScrapeOra created before — it never creates a duplicate.
- Price and stock only mode updates just those two fields, so edits you make in your store are kept.
If it doesn't connect
- “Shopify didn't accept that Client ID and secret”: the app must be installed on this store, and the app and the store must belong to the same Shopify organization.
- “No Shopify store answered”: use the .myshopify.com address, not your own domain.
- Products fail with a permissions error: add the product and inventory scopes to the app, release a new version and approve it on the store.
WooCommerce
Creates and updates products in your WooCommerce store through its REST API. In Full sync mode, vanished products are set to draft (hidden, revivable).
What you need
- Your store's address over HTTPS.
- A WooCommerce REST API key with Read/Write permission, created by a user with admin rights.
Set it up
- In WordPress admin, go to WooCommerce → Settings → Advanced → REST API and choose Add key.
- Give it a description, choose an administrator as the user, set Permissions to Read/Write, and Generate API key.
- Keep the Consumer key (ck_…) and Consumer secret (cs_…) — WooCommerce shows the secret only once.
- In ScrapeOra: Integrations → Connect integration → WooCommerce. Enter the store address and both keys, pick the schedule, and connect.
Where each value lives
- Store URL
- Your store's home address, e.g. https://store.example.com — include the sub-folder if WordPress lives in one. Pasting a wp-admin link works too.
- Consumer key
- WooCommerce → Settings → Advanced → REST API, right after you generate the key.
- Consumer secret
- Shown with the consumer key when it is generated. Generate a new key if you missed it.
What ScrapeOra updates
- Title, description, price (with your markup), SKU, stock and the main image when one is available.
- Re-delivering a product updates the one ScrapeOra created before — it never creates a duplicate.
- Price and stock only mode updates just those two fields, so edits you make in your store are kept.
If it doesn't connect
- 401 or “invalid key”: the key needs Read/Write permission, and some hosts strip the authorization header — ask your host to allow it, or use the key over HTTPS only.
- “Not found”: check the address points at the WordPress site, and that permalinks are not set to Plain (Settings → Permalinks).
BigCommerce
Creates and updates products through the BigCommerce catalog API. In Full sync mode, vanished products are hidden (is_visible off), never deleted.
What you need
- Your store hash.
- A store-level API account with the Products scope set to modify.
Set it up
- In the BigCommerce control panel, go to Settings → API → Store-level API accounts → Create API account (token type V2/V3 API token).
- Set Products to modify. Leave everything else as it is, and Save.
- Keep the Access token that appears — it is shown once. The store hash is in the API path shown on the same screen.
- In ScrapeOra: Integrations → Connect integration → BigCommerce. Enter the store hash and the token, pick the schedule, and connect.
Where each value lives
- Store hash
- The code in your control-panel address — store-XXXXXX.mybigcommerce.com → XXXXXX — also shown in the API path when you create the account.
- API access token
- Shown once when you create the store-level API account.
What ScrapeOra updates
- Title, description, price (with your markup), SKU, stock and the main image when one is available.
- Re-delivering a product updates the one ScrapeOra created before — it never creates a duplicate.
- Price and stock only mode updates just those two fields, so edits you make in your store are kept.
If it doesn't connect
- 403: the API account needs Products set to modify. Edit the account, or create a new one.
Wix
Creates and updates products in Wix Stores.
What you need
- A Wix site with Wix Stores.
- A Wix API key with permission to manage products, and your site ID.
Set it up
- Open the API Keys Manager from your Wix account settings and Generate API key.
- Give it the Wix Stores permission to manage products, and generate it.
- Open your site's dashboard; the site ID is the long code in the address bar after /dashboard/.
- In ScrapeOra: Integrations → Connect integration → Wix. Paste the key and the site ID, pick the schedule, and connect.
Where each value lives
- Wix API key
- API Keys Manager in your Wix account settings.
- Site ID
- Your site dashboard's address, after /dashboard/. Needed when your account has more than one site.
What ScrapeOra updates
- Title, description, price (with your markup), SKU, stock and the main image when one is available.
- Re-delivering a product updates the one ScrapeOra created before — it never creates a duplicate.
If it doesn't connect
- 403: the key needs the Wix Stores permission for this site.
Squarespace
Creates and updates products through the Squarespace Commerce APIs.
What you need
- A Squarespace site on a Commerce plan.
- A developer API key with Products and Inventory access.
Set it up
- In Squarespace, go to Settings → Advanced → Developer API keys → Generate key.
- Give it read and write access to the Products API and the Inventory API, and generate it.
- In ScrapeOra: Integrations → Connect integration → Squarespace. Paste the key, pick the schedule, and connect.
Where each value lives
- Squarespace API key
- Settings → Advanced → Developer API keys. It is shown once.
What ScrapeOra updates
- Title, description, price (with your markup), SKU, stock and the main image when one is available.
- Re-delivering a product updates the one ScrapeOra created before — it never creates a duplicate.
If it doesn't connect
- 401: the key was revoked or lacks Products access — generate a new one.
Magento 2 (Adobe Commerce)
Creates and updates products through the Magento REST API.
What you need
- Your store's address over HTTPS.
- An integration access token with access to the product catalog.
Set it up
- In Magento admin, go to System → Extensions → Integrations → Add New Integration.
- Name it, then under API give it access to Catalog → Inventory → Products. Save.
- Choose Activate, then Allow; keep the Access Token it shows.
- On Magento 2.4.4 or later, enable Stores → Configuration → Services → OAuth → Consumer Settings → “Allow OAuth Access Tokens to be used as standalone Bearer tokens”.
- In ScrapeOra: Integrations → Connect integration → Magento 2. Enter the store address and the token, pick the schedule, and connect.
Where each value lives
- Store URL
- Your storefront's address, e.g. https://store.example.com.
- Admin bearer token
- The integration's Access Token, shown after you activate it.
What ScrapeOra updates
- Title, description, price (with your markup), SKU, stock and the main image when one is available.
- Re-delivering a product updates the one ScrapeOra created before — it never creates a duplicate.
If it doesn't connect
- 401 on Magento 2.4.4+: turn on standalone bearer tokens (step 4), then test the connection again.
PrestaShop
Creates and updates products through the PrestaShop Webservice.
What you need
- Your shop's address over HTTPS.
- A webservice key with product permissions.
Set it up
- In the back office, go to Advanced Parameters → Webservice and enable the webservice.
- Choose Add new webservice key, generate a key, and tick GET, POST and PUT for products, images and stock_availables. Save.
- In ScrapeOra: Integrations → Connect integration → PrestaShop. Enter the shop address and the key, pick the schedule, and connect.
Where each value lives
- Store URL
- Your shop's address, e.g. https://shop.example.com.
- Webservice API key
- Advanced Parameters → Webservice, in the key list.
What ScrapeOra updates
- Title, description, price (with your markup), SKU, stock and the main image when one is available.
- Re-delivering a product updates the one ScrapeOra created before — it never creates a duplicate.
If it doesn't connect
- 401: the key is disabled or lacks product permissions — edit it in Advanced Parameters → Webservice.
Ecwid
Creates and updates products in your Ecwid store.
What you need
- Your store ID.
- A secret access token from a custom app with the update_catalog scope.
Set it up
- In Ecwid admin, go to Apps → My Apps → Develop apps and create a custom app.
- Give it the read_catalog and update_catalog scopes; its secret access token starts with secret_.
- Your store ID is at the bottom of the Ecwid dashboard and under Settings → General → Store Profile.
- In ScrapeOra: Integrations → Connect integration → Ecwid. Enter the store ID and the token, pick the schedule, and connect.
Where each value lives
- Store ID
- Bottom of the Ecwid dashboard, or Settings → General → Store Profile.
- Access token
- Your custom app's page — the secret token (secret_…).
What ScrapeOra updates
- Title, description, price (with your markup), SKU, stock and the main image when one is available.
- Re-delivering a product updates the one ScrapeOra created before — it never creates a duplicate.
If it doesn't connect
- 403: the app needs the update_catalog scope.
Medusa
Creates and updates products through the Medusa Admin API.
What you need
- The address of your Medusa backend.
- A secret API key.
Set it up
- In Medusa Admin, go to Settings → Secret API Keys → Create, and keep the key when it is shown.
- In ScrapeOra: Integrations → Connect integration → Medusa. Enter the backend address and the key, pick the schedule, and connect.
Where each value lives
- Admin URL
- The server your Medusa Admin talks to, e.g. https://api.example.com.
- Admin API token
- Settings → Secret API Keys in Medusa Admin.
What ScrapeOra updates
- Title, description, price (with your markup), SKU, stock and the main image when one is available.
- Re-delivering a product updates the one ScrapeOra created before — it never creates a duplicate.
If it doesn't connect
- 401: the key was revoked — create a new one.
Google Sheets
Adds one row per product to a spreadsheet, under a header row it keeps in order — handy for review, price lists or feeding another tool.
What you need
- A Google account.
- Optionally, an existing spreadsheet you own.
Set it up
- In ScrapeOra: Integrations → Connect integration → Google Sheets.
- Leave Spreadsheet empty to have ScrapeOra create a new sheet (it then asks Google only for access to that one file), or paste the address of a sheet you own.
- Choose Continue with Google and allow access.
- Back in ScrapeOra, edit the integration to pick the schedule it delivers after.
Where each value lives
- Spreadsheet URL or ID
- The address in your browser while the sheet is open. Leave it empty for a new sheet.
- Tab name
- The tab at the bottom of the sheet, e.g. Sheet1. Empty means the first tab.
What ScrapeOra updates
- A row per product with its title, price, SKU, stock, link and the rest of its fields; numbers stay numbers.
- Columns follow the sheet's header row, so you can reorder them.
If it doesn't connect
- “You declined the Google permission request”: connect again and allow access.
- The integration shows Invalid: Google access was removed from your account — connect again.
Webhook
Sends each batch of delivered products as JSON to an address you control — for your own systems, automations or a store we don't list.
What you need
- A public HTTPS endpoint that accepts POST requests.
- Optionally, a signing secret to verify requests.
Set it up
- Set up an endpoint that accepts POST with a JSON body and answers 2xx.
- In ScrapeOra: Integrations → Connect integration → Webhook. Enter the address and, if you like, a signing secret, pick the schedule, and connect.
- Verify requests on your side: compute HMAC-SHA256 of the raw body with your secret and compare it with the X-ScrapeOra-Signature header (sha256=…).
Where each value lives
- Webhook URL
- Your endpoint's HTTPS address. Private and local addresses are refused.
- Signing secret
- Any long random string you choose; keep the same one in your endpoint.
What ScrapeOra updates
- Body: { delivery_id, timestamp, items: [...] } — items carry the same fields as a JSON export.
- Headers: X-ScrapeOra-Delivery (unique per batch), X-ScrapeOra-Timestamp and, with a secret, X-ScrapeOra-Signature.
- Only new and changed products are sent. A 5xx or 429 answer is retried; any other 4xx is not.
If it doesn't connect
- Nothing arrives: the address must be public HTTPS and answer within 15 seconds.
Still stuck?
Tell us which platform you are connecting and what you see — our team replies within 1 business day.