Open standard · Free software

Your product content, ready for every retailer.

Open Brand Exchange is an open standard for how retailers get product photos and article data from a brand: in a portal in the browser, as a zip or spreadsheet, or straight into their own software through one API. How the content gets into your portal is up to you.

Open
standard, CC-BY-4.0
3
portal editions
61
conformance checks
25
languages
€0
licence fee
The brand portal of the fictional brand Kestrel as a retailer sees it: eight articles with filters for brand, product type and colour.
GET/obx/v1/changesWhat a retailer's software receives
{
  "phase": "live",
  "changes": [
    { "seq": 1042, "op": "delete",
      "type": "asset",
      "external_id": "KO-1001_NVY_2" },
    { "seq": 1043, "op": "upsert",
      "type": "variant",
      "external_id": "2000100101025",
      "data": { "size": "M", … } }
  ],
  "has_more": false
}

How it works

One source. Retailers fetch what they need.

Your content sits in your own portal. Buyers search it and download files in the browser; their software reads the same content through the API.

  1. Your systems

    • PIM
    • ERP
    • DAM
    • Export folder
  2. Getting content in

    • Scheduled import
    • obx tool
    • GitHub Action
    • Upload API
  3. Your portal

    brands.yourbrand.com
    • Catalog and images
    • Access per retailer
    • Usage statistics
  4. Your retailers

    Buyers, in the browser

    • Search and EAN list
    • Zip and CSV downloads

    Their software, through the API

    • Webshop and PIM
    • POS and content tools
How content flows from a brand's systems through its own portal to its retailers.

01 Portal

A portal for your retailers' buyers.

Buyers log in to your portal, paste the EANs from their order and download exactly what they need: one photo, one article or a zip of a whole selection.

  • Search and filter by brand, season, product type and colour
  • Paste an EAN list and see at once what is there and what is missing
  • Original, web (2000 px) or square, plus article data as a spreadsheet
  • Your name, logo and domain: “Kestrel · Brand portal”
See it through a retailer's eyes
A retailer pastes six EANs into the brand portal: five are found, one is not in the catalog.

02 API

One API, the same for every brand.

Retailers' software fetches everything once and then only what changed, including what you withdraw. Every image arrives with its usage rights, embargo date and AI provenance.

  • A full copy first, then only the changes
  • Lookup by EAN, matched to the right article and size
  • Web, square and thumbnail versions; originals when you allow them
  • Built once by a software vendor, it works with every brand
Read the API reference
GET/obx/v1/changesAsset
{
  "seq": 1051, "type": "asset", "op": "upsert",
  "external_id": "KO-1003_RST_3",
  "data": {
    "role": "model",
    "color_code": "RST",
    "rights": {
      "license": "retailer-use",
      "channels": ["webshop", "marketplace", "social"],
      "embargo_until": null
    },
    "provenance": { "ai_generated": true, "source": "generated" },
    "renditions": {
      "web":    { "width": 1200, "height": 1500 },
      "square": { "width": 1500, "height": 1500 },
      "thumb":  { "width": 480,  "height": 600 }
    }
  }
}

03 Your systems

Keep working the way you do now.

The standard is about how retailers fetch. How your content gets into the portal is your choice: a nightly import from a web address, SFTP or S3, an export folder, or the obx command-line tool.

  • Nightly import from a web address, SFTP or S3, no code needed
  • The obx tool for Windows, macOS and Linux sends only what changed
  • Recipes for cron, GitHub Actions, n8n, Make and Zapier
  • One CSV layout and one naming rule for photos
See the automation recipes
Terminal
$ obx push ./export
Publishing to brands.kestrel.example (Kestrel, Kestrel Trail)
images: 27 checked, 3 uploaded (4.2 MB) in 3s
Done: rows: 40, images: 27 → new: 2 · updated: 3 · unchanged: 35
publish.ymlGitHub Action
# .github/workflows/publish.yml
on:
  push:
    paths: ["export/**"]
jobs:
  publish:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: openbrandexchange/obx-go/push-action@v0
        with:
          url: ${{ secrets.OBX_URL }}
          token: ${{ secrets.OBX_TOKEN }}
          folder: export

Who it is for

For brands and for retailers.

For brands

No more sending files around. Retailers fetch what they need, and you decide who gets what.

  • Your own portal, on your own domain
  • You approve every retailer and decide what they see
  • See who downloads what, per retailer
  • Host it yourself for free, or choose a provider and leave any time

For retailers

Every brand in one consistent format, in your browser or straight into your software.

  • Paste your EAN list and get the right images for every size
  • Download zips and article data, ready for your shop
  • One connection for every brand on the standard
  • Usage rights and embargo dates with every image

Hosting

Run it where you want. Pay only for hosting.

Three editions of the same portal. They pass the same conformance suite and speak the same API, so you can move from one to another.

  • One click

    Portal for Cloudflare

    Runs on
    Cloudflare Workers, with D1 and R2
    You need
    A Cloudflare account
    Setup
    One click, then the setup wizard
    Cost
    Workers Paid plan, about $5 a month
    Set up on Cloudflare
  • Containers

    Portal for Google Cloud & Docker

    Runs on
    Google Cloud Run, or any server with Docker
    You need
    A Google Cloud account or a Docker host
    Setup
    One script or one Docker command
    Cost
    Pay per use on Cloud Run, or your own server
    Set up with Docker
  • No commands

    Portal for web hosting

    Runs on
    Ordinary web hosting with PHP and a database
    You need
    An FTP program
    Setup
    Upload a zip, then the installer
    Cost
    The hosting you already pay for
    Set up on web hosting

Governance

An open standard, not a platform.

Open Brand Exchange should belong to the brands, retailers and software vendors who use it, not to one company.

  • Open specification

    Version 0.1, written as OpenAPI 3.1 and JSON Schema under CC-BY-4.0. Anyone may implement it, commercially too.

  • Conformance suite

    61 automated checks in four profiles. Every implementation is tested the same way.

  • Open-source licences

    The SDK, the obx tool and the web interface are Apache-2.0. The three portal editions are AGPL-3.0, so improvements stay open.

  • A foundation in formation

    The copyright, the name and the domain go to the Open Brand Exchange Foundation (in formation) once it is registered.

  • Security

    Report vulnerabilities privately to [email protected]. Security is one of the four conformance profiles.

  • Privacy first

    This website sets no cookies, uses no trackers and loads nothing from other servers.

Read how it is governed

Developers

A specification you can build on.

Three OpenAPI contracts, JSON Schemas, a fictional test brand and a conformance suite. The Go SDK and the obx tool are ready to use, and any HTTP client works.

Terminal
$ curl https://brands.kestrel.example/.well-known/obx
200 OK · application/json
{
  "obx_version": "0.1",
  "publisher": { "name": "Kestrel Outfitters" },
  "api_base": "https://brands.kestrel.example/obx/v1",
  "portal_url": "https://brands.kestrel.example/",
  "capabilities": ["changes", "products", "by_gtin",
                   "renditions", "exports", "webhooks"]
}

FAQ

Questions brands ask first

All questions
What does it cost?

The standard and the software are free. If you host it yourself you pay only for your hosting. A provider charges its own prices, which you find on its own website.

Do we need a developer?

Not for the basics. You can install a portal with one click, and a scheduled import from a web address, SFTP server or bucket needs no code. A developer helps if you want to connect your PIM or ERP directly.

Is this another platform we have to join?

No. Every brand runs its own portal, on its own domain if it likes. There is no central platform that holds your content.

Who decides which retailer gets access?

You do. Retailers request access, and you approve or reject each request. You can also choose which brands a retailer sees and whether originals may be downloaded.

Let your retailers fetch it themselves.

Set up your own portal, or tell us about your systems and retailers and help shape the first release.

  1. Set up your portal

    Have a provider run it, or host it yourself for free with one click or one command. Hosting options

  2. Publish automatically

    One CSV file and photos with a fixed name. Your PIM, ERP or a plain folder delivers them every night, with no manual work. Automation

  3. Your retailers take it from there

    Retailers log in, paste their EAN list and download. Their software fetches the same content through the standard API. For retailers