Skip to main content

Getting started with the EasyChannel API

Set up API access for your EasyChannel account: where to find your token, how to authenticate, and what the API can reach.

Written by Karolina Santiago

What the API is for

EasyChannel keeps your catalog, listings, and orders in one place. The API opens that same data to your own code, so you can move information in and out of EasyChannel without anyone clicking through the app.

Typical reasons sellers pick it up:

  • Pushing stock or price changes from a warehouse system or ERP into EasyChannel

  • Pulling orders into an external fulfilment or reporting tool

  • Creating products in bulk from a source you already maintain elsewhere

  • Wiring EasyChannel into an internal dashboard or a workflow tool such as n8n

It is a standard REST API. Requests and responses are JSON over HTTPS, so any language or automation platform that can make an HTTP call will work.

Before you start: you need admin rights on the EasyChannel account. If the API tile is missing or greyed out, ask whoever owns the account to generate the token for you.


Where to get your token

  1. Click your account name at the bottom of the left sidebar and choose Integrations (or open Settings > Integrations)

  2. Stay on the All Integrations tab

  3. Scroll to the tile marked API EasyChannel

  4. Click the tile. The dialog shows your token with a Copy button next to it

  5. Copy it and store it somewhere safe, such as a password manager or an environment variable

That single token covers your whole EasyChannel company, including every marketplace account connected to it.

Treat it like a password. Anyone holding this token can read and change your EasyChannel data. Never paste it into a public repository, a shared document, or a support ticket. If it leaks, reopen the same dialog and generate a new one, which switches the old one off immediately.


Authenticating your requests

Send the token as a header on every call:

Authorization: Bearer YOUR_TOKEN_HERE

That is the whole setup for tokens generated inside the app. There is no separate handshake and no OAuth step to complete first.

A quick check that it works:

curl -X GET "https://api.easychannel.com/v1/sellers" \   -H "Authorization: Bearer YOUR_TOKEN_HERE"

A list of your connected marketplace accounts comes back if the token is good.

Building an app for other sellers? Then use OAuth 2.0 instead, so each seller authorises you rather than handing over a token. Send them through GET /auth/authorize, swap the returned code at POST /auth/token, and use the resulting access token in the same Authorization header. GET /auth/me tells you whether a token is still valid. The full flow is in the API documentation.


What the API covers

Grouped by area, so you know where to look in the reference:

Products. List and search your catalog, create products with variants and identifiers, replace a product outright or patch single fields such as price or quantity, and manage categories and tags.

Listings. The per-channel, per-account version of a product. Filter by channel, seller account, SKU, or status to see what is actually live where.

Orders. Pull orders for a seller account, filtered by status, channel, SKU, or marketplace order ID. Tag them for your own workflows.

Sellers. List the marketplace accounts connected to your company and read their business policies.

Mapping and SKU templates. Read how your product fields map onto each channel, and manage the templates that generate SKUs.

CSV imports. Check the status of import jobs and read back the rows that failed, with the reason for each.

Bulk actions. Queue large batch operations, publishing included, and poll them until they finish.

Webhooks. Register a URL to be notified when something happens, instead of asking repeatedly.

Health checks. GET /health/live and GET /health/ready confirm the service is up.

The reference at api.easychannel.com/docs/easychannel is generated from the running API, so it always matches what is live. Every endpoint can be tried straight from that page.


Rate limits

Requests are throttled so one integration cannot slow the platform down for everyone. The limits that apply to your account are listed in the API documentation. To stay comfortably inside them:

  • Handle a rejected request as a normal outcome, not a crash

  • Back off and retry after a pause rather than hammering the endpoint

  • Ask for a page of records instead of looping one record at a time

  • Use webhooks for anything you would otherwise poll on a timer

If your integration genuinely needs more headroom, get in touch and describe the workload.


When something goes wrong

"Invalid API token"

  • Check the whole token was copied, with nothing trimmed from either end

  • Check the header reads Authorization: Bearer YOUR_TOKEN, with exactly one space after Bearer

  • If the token was regenerated at any point, the previous one stopped working. Copy the current one from the same dialog

  • Confirm you are pointing at https://api.easychannel.com

A call returns nothing

Most order and listing calls are scoped to one marketplace account. Run GET /v1/sellers first, take the seller ID you need, and pass it on the request.

An endpoint you need does not exist

Open Settings > Integrations > API EasyChannel and use the Need more API endpoints? button. The request reaches the EasyChannel team directly and feeds into what gets built next.


Habits worth keeping

  • Store the token in an environment variable or secrets manager, never in the code itself

  • Try new calls against a small set of products before letting them loose on the whole catalog

  • Log the response of every write, so you can retrace what changed and when

  • Watch how many calls you actually make. Most integrations request far more than they need

  • Prefer a partial update over a full replace when you only mean to change one field


Where to go next

Did this answer your question?