API

293 assets across 35 brands over plain HTTP, no auth.

List logos

GET /logos returns the full JSON index. Filter with brand (alias product), type (full / symbol / horizontal / vertical / wordmark), theme (on-light / on-dark / universal), mono, format, and width — adding a width flips every url to a sized PNG.

/logos?brand=reanimated
/logos?type=symbol&theme=on-dark
/logos?width=300

One logo

GET /logo/<brand> picks the best match for the same filters and serves the file — the original SVG untouched, or a PNG when width or format=png is given. Pin an exact file with file=.

/logo/reanimated?theme=on-dark
/logo/typegpu?type=symbol&width=512
/logo/fishjam?file=fishjam-full-on-dark.svg&format=png&width=1024

Raw files

Every asset is also a plain static file.

/logos/products/reanimated/reanimated-full-on-dark.svg

Brand colors

Every brand carries a colors array of #RRGGBB, most characteristic first — on GET /logos (under brands) and on GET /api/brands. Values are read out of the artwork at build time; a brand overrides them by setting colors in its meta.json. Pure white and black are omitted, so a black-and-white mark reports an empty array. ZIP bundles carry the same values in COLORS.txt.

/api/brands

Palettes

GET /api/colors returns the palettes the Colors page lists, in the same order: Software Mansion first, then each product. Every section has a slug, name, count, and colors of { name, hex }. Pick one with section, the same slug the product's logos use where it has them. These are the hand-kept design palettes, not the per-brand colors above, which are read out of each product's artwork.

/api/colors
/api/colors?section=fishjam

ZIP bundles

POST /logos/zip with { ids, format, width } answers with the archive in one response (up to 300 ids). For bigger bundles use the job API the gallery uses: POST /api/downloads (same body, up to 1000 ids) returns { id }; poll GET /api/downloads/<id> until state: "done", then fetch GET /api/downloads/<id>/file. Finished bundles expire after 15 minutes.

curl -X POST -H 'Content-Type: application/json' -d '{"ids":["reanimated","typegpu/typegpu-symbol-color-universal.svg"],"format":"png","width":512}' --output logos.zip https://brand.swmansion.com/logos/zip

OG images

GET /og renders an on-brand social card from URL params — compose one visually in the studio and copy its URL. Full parameter reference lives in the repo README.

/og?title=Hello&bg=navy&logo=1

Stability

Asset ids (<brand>/<file>) are permanent: renames leave an alias behind, so an id that ever worked keeps working. The JSON index also lists brands with no artwork yet (missing: true).