Skip to main content
Developer Portal

Open Data API

A free JSON API for product data work: validate barcodes, find customs tariff codes and calculate marketplace fees from sourced data. No sign-up, no key, callable from the browser. The one condition: link back to us with "Data by WISEPIM".

Free
No API key
CORS enabled
HTTPS
OpenAPI 3.1

Try it live

Real requests from your browser, no key. What you see is what your code gets.

GEThttps://wisepim.com/api/open/v1/gtin/4006381333931

Quick start

curl
curl https://wisepim.com/api/open/v1/gtin/4006381333931
200 response
{
  "input": "4006381333931",
  "valid": true,
  "format": "EAN-13",
  "checkDigit": 1,
  "expectedCheckDigit": 1,
  "gtin14": "04006381333931",
  "gs1Prefix": { "prefix": "400", "name": "Germany", "kind": "country", "regions": ["DE"] },
  "error": null,
  "attribution": {
    "required": true,
    "text": "Data by WISEPIM",
    "url": "https://wisepim.com/ean-gtin-validator",
    "html": "<a href=\"https://wisepim.com/ean-gtin-validator\">Data by WISEPIM</a>",
    "markdown": "[Data by WISEPIM](https://wisepim.com/ean-gtin-validator)",
    "terms": "https://wisepim.com/developers/open-data#terms"
  }
}

Base URL: https://wisepim.com/api/open/v1. Every successful response carries an attribution object with the exact link to show, as text, HTML and Markdown. It points at the WISEPIM page for that record, so your users can read more.

Terms: free with a link

Use the API for free, in commercial and non-commercial apps, sites, scripts and research. In return:

  • Show a visible link with the text Data by WISEPIM wherever the data appears: next to it, in the footer, or on your credits page. Use the attribution.html of the response, or the badge below. Keep the link followable (no rel="nofollow").
  • For HS codes, also show the official source credit from nomenclature.attribution.
  • Do not present the data as your own, resell raw access to it, or work around the rate limit.
  • The data is provided as is. Marketplace fees and tariff texts are reference data, not legal, tax or customs advice; the marketplace's contract and the official journal are binding.
Badge (HTML)
<a href="https://wisepim.com/developers/open-data"><img src="https://wisepim.com/open-data/data-by-wisepim.svg" alt="Data by WISEPIM" width="132" height="20"></a>
Preview:Data by WISEPIM

Endpoints

GTIN, EAN and UPC validation

Checks the length and GS1 check digit of EAN-13, EAN-8, UPC-A, ISBN-13 and GTIN-14 codes, returns the code padded to GTIN-14 and the country or organization of its GS1 prefix. An invalid code is still a 200 with valid: false and the reason, so you can show it to your users.

GET/gtin?codes={a},{b}

Validate up to 100 comma-separated codes, in order.

Try it: /api/open/v1/gtin?codes=4006381333931,5901234123457

Credits wisepim.com/ean-gtin-validator

GET/gtin/check-digit/{digits}

Send a code without its last digit (7, 11, 12 or 13 digits) and get the check digit and the complete, validated code.

Try it: /api/open/v1/gtin/check-digit/400638133393

Credits wisepim.com/ean-gtin-validator

HS codes (EU Combined Nomenclature and US HTS)

Browse the official 2026 customs tariffs: the EU Combined Nomenclature in English, Dutch, German and French, and the US Harmonized Tariff Schedule in English. Each code comes with its official description, its path from the chapter down, and its direct children with a link to fetch the next level. The nomenclature field carries the credit to the official source; show it next to the data.

GET/hs-codes/search?q={keywords}&lang=en

Find chapters and 4-digit headings by keyword. Understands everyday product words the tariff never uses (laptop, sneakers, sofa, lipstick) in all four languages. Follow a result's url for its subheadings.

Try it: /api/open/v1/hs-codes/search?q=running shoes

Credits wisepim.com/hs-codes

GET/hs-codes?market=eu&lang=en

The 97 chapters.

Try it: /api/open/v1/hs-codes?market=eu&lang=de

Credits wisepim.com/hs-codes

GET/hs-codes/{code}?market=eu&lang=en

A chapter (2 digits), heading (4), subheading (6), CN code (8) or HTS line (10). Dots and spaces are ignored.

Try it: /api/open/v1/hs-codes/6109?market=us

Credits wisepim.com/hs-codes/6109

European marketplace fees

805 fee rows from Amazon, eBay, Kaufland, OTTO, bol, Cdiscount, Fnac Darty, Allegro, Galaxus, eMAG, Etsy, Empik, Zalando and others: subscriptions, commissions by category, fixed, payment, logistics and regulatory fees. Every row links to the marketplace page it was checked against and carries the date it was verified. This is the dataset behind our marketplace fees report.

GET/marketplace-fees

Marketplaces, fee types, row counts and the verification date.

Try it: /api/open/v1/marketplace-fees

Credits wisepim.com/reports/marketplace-fees-europe

GET/marketplace-fees/calculate?calculator={id}&price={price}

Fees, payout and margin for one sale at any price on eBay (US, DE, FR), Etsy, Amazon FBA (US, DE) and bol, with the same cent-exact math as our calculators. Call it without parameters to list each calculator's options and categories.

Try it: /api/open/v1/marketplace-fees/calculate?calculator=ebay-de&price=49.95&shipping=4.95

Credits wisepim.com/tools/ebay-fee-calculator

GET/marketplace-fees/{marketplace}?market=DE&feeType=commission

Every sourced row for one marketplace, optionally filtered by country and fee type. Add &format=csv for spreadsheets.

Try it: /api/open/v1/marketplace-fees/otto?feeType=commission

Credits wisepim.com/reports/marketplace-fees-europe

GET/marketplace-fees/compare?category=consumer_electronics

The fee on a 50 EUR sale by product category across 13 marketplace columns, with the calculation.

Try it: /api/open/v1/marketplace-fees/compare?category=consumer_electronics

Credits wisepim.com/reports/marketplace-fees-europe

Examples

JavaScript (browser or Node)
const response = await fetch("https://wisepim.com/api/open/v1/hs-codes/8471?market=eu&lang=en");
const data = await response.json();

// Show the code tree, then the credit the terms ask for:
render(data.node, data.children);
footer.innerHTML = data.attribution.html; // <a href="https://wisepim.com/hs-codes/8471">Data by WISEPIM</a>
Python
import requests

fees = requests.get(
    "https://wisepim.com/api/open/v1/marketplace-fees/amazon",
    params={"market": "DE", "feeType": "commission"},
    timeout=10,
).json()

for row in fees["rows"]:
    print(row["field"], "->", row["value"], "| source:", row["source"]["url"])

print(fees["attribution"]["markdown"])  # [Data by WISEPIM](https://wisepim.com/reports/marketplace-fees-europe)
Google Sheets (Apps Script)
// Google Sheets: Extensions > Apps Script, paste, save. Then in a cell:
//   =GTIN_VALID(A2)        TRUE or FALSE
//   =HS_SEARCH("sneakers")  best matching heading, e.g. 6402
// Keep a visible "Data by WISEPIM" link in the sheet (see the terms).

function wisepim(path) {
  const response = UrlFetchApp.fetch("https://wisepim.com/api/open/v1" + path, { muteHttpExceptions: true });
  try {
    return JSON.parse(response.getContentText());
  } catch (error) {
    return { error: { message: "WISEPIM answered " + response.getResponseCode() } };
  }
}

function GTIN_VALID(code) {
  const data = wisepim("/gtin/" + encodeURIComponent(String(code).trim()));
  return data.error ? data.error.message : data.valid;
}

function HS_SEARCH(keywords) {
  const data = wisepim("/hs-codes/search?q=" + encodeURIComponent(keywords));
  if (data.error) return data.error.message;
  const top = data.results[0];
  return top ? top.code + " " + top.description : "";
}

// Whole fee tables, no script needed:
//   =IMPORTDATA("https://wisepim.com/api/open/v1/marketplace-fees/bol?format=csv")

What you can build with it

Catch bad barcodes at import

Validate EANs in a CSV, Shopify or WooCommerce import before marketplaces reject the listings, and show which digit is wrong.

Prefill customs codes

Suggest an HS heading from the product title in a shipping or invoicing form, then let the user pick the national subheading.

Price for every channel

Show the fee, payout and margin on eBay, Etsy, Amazon and bol before a seller sets a price.

Keep spreadsheets honest

Pull sourced fee tables into Google Sheets or Excel with one IMPORTDATA formula and a verification date per row.

Limits and caching

  • 120 requests a minute per IP address. A 429 carries Retry-After in seconds.
  • Successful responses are public and may be cached for an hour (Cache-Control: public, max-age=3600). The data changes at most daily, so cache it.
  • GET only. CORS is open to every origin, and no cookies or credentials are read.
  • Need more, or AI classification of product titles? The WISEPIM API adds key-based access to the HS code finder, EAN product lookup and category finder.

Errors

Errors are JSON: { "error": { "code", "message" }, "docs" }.

Open Data API error codes
StatuscodeMeaning
400invalid_requestA malformed code, an unknown market, language, fee type or category, or too many batch codes.
404not_foundThe HS code is not in the nomenclature, or the marketplace is unknown.
405method_not_allowedThe API is read-only: use GET.
429rate_limitedMore than 120 requests a minute from one IP. Wait the Retry-After seconds.
503unavailableThe nomenclature could not be read. Retry after the Retry-After seconds.

OpenAPI and tools

The OpenAPI 3.1 document is at https://wisepim.com/api/open/v1/openapi.json. Import that URL into Postman, Insomnia or Bruno, or generate a client with openapi-generator.

Free to reuse: charts and images

Our benchmark charts and dictionary images are free to reuse under CC BY 4.0, commercially too. Credit WISEPIM with a link to the source page. The figures behind a chart come from the cited third-party research; only the chart is licensed.

E-commerce benchmark rates by industry

Conversion, mobile conversion, cart abandonment, return and repeat-purchase rates per industry, with the published sources behind each figure.

Preview: Fashion & Apparel e-commerce rates

Credit line

"E-commerce benchmark rates by industry" by WISEPIM, https://wisepim.com/ecommerce-industry-insights, licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

All 16 charts
  • Fashion & Apparel e-commerce ratesPageSVG
  • Electronics & Tech e-commerce ratesPageSVG
  • Sporting Goods e-commerce ratesPageSVG
  • Beauty & Personal Care e-commerce ratesPageSVG
  • Home Improvement e-commerce ratesPageSVG
  • Garden & Outdoor e-commerce ratesPageSVG
  • Jewelry & Watches e-commerce ratesPageSVG
  • Toys & Games e-commerce ratesPageSVG
  • Office & School Supplies e-commerce ratesPageSVG
  • Pet Supplies e-commerce ratesPageSVG
  • Books & Digital Media e-commerce ratesPageSVG
  • Industrial Equipment e-commerce ratesPageSVG
  • Crafts & Hobbies e-commerce ratesPageSVG
  • Luggage & Bags e-commerce ratesPageSVG
  • Automotive Parts e-commerce ratesPageSVG
  • Furniture e-commerce ratesPageSVG

E-commerce return rates by industry

Average online return rate for each industry, highest first.

Preview: E-commerce return rates by industry

Credit line

"E-commerce return rates by industry" by WISEPIM, https://wisepim.com/ecommerce-return-rate-statistics, licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

1 chart
  • E-commerce return rates by industryPageSVG

E-commerce dictionary illustrations and infographics

Hero images and infographics for the e-commerce dictionary terms.

Credit line

"E-commerce dictionary illustrations and infographics" by WISEPIM, https://wisepim.com/ecommerce-dictionary, licensed under CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Built something with it?

Tell us at support@wisepim.com and we will consider listing your project on this page, with a link to it.

Something not documented?

Tell us what you are building and we will point you to the right endpoint, or add it.

Ask us