Skip to content

Instantly share code, notes, and snippets.

@jimbrig
Last active October 31, 2024 03:31
Show Gist options
  • Save jimbrig/3a9ab1b49b7f04661c73dcd88b2b4397 to your computer and use it in GitHub Desktop.
Save jimbrig/3a9ab1b49b7f04661c73dcd88b2b4397 to your computer and use it in GitHub Desktop.
Brandfetch API Spec
openapi: 3.1.0
info:
title: Brandfetch API
description: Brandfetch API for retrieving brand information.
version: 2.0.0
termsOfService: https://brandfetch.com/terms
contact:
url: https://brandfetch.com/developers
servers:
- url: https://api.brandfetch.io/v2
paths:
/brands/{brandDomain}:
get:
operationId: getBrandByDomain
summary: Retrieve a brand
description: |
Fetch brand information by domain or ID
parameters:
- name: brandDomain
in: path
required: true
description: Domain or ID of the brand
schema:
type: string
responses:
"200":
description: Brand data
content:
application/json:
schema:
$ref: "#/components/schemas/Brand"
examples:
brandfetch.com:
value: '{"name":"Brandfetch","domain":"brandfetch.com","claimed":true,"description":"All brands. In one
place","links":[{"name":"twitter","url":"https://twitter.com/brandfetch"},{"name":"linkedin","url":"https://linkedin.com/company/brandfetch"}],"logos":[{"type":"logo","theme":"light","formats":[{"src":"https://asset.brandfetch.io/idL0iThUh6/id9WE9j86h.svg","background":"transparent","format":"svg","size":15555}]},{"type":"logo","theme":"dark","formats":[{"src":"https://asset.brandfetch.io/idL0iThUh6/idWbsK1VCy.png","background":"transparent","format":"png","height":215,"width":800,"size":33937},{"src":"https://asset.brandfetch.io/idL0iThUh6/idtCMfbWO0.svg","background":"transparent","format":"svg","height":null,"width":null,"size":15567}]},{"type":"symbol","theme":"light","formats":[{"src":"https://asset.brandfetch.io/idL0iThUh6/idXGq6SIu2.svg","background":"transparent","format":"svg","size":2215}]},{"type":"symbol","theme":"dark","formats":[{"src":"https://asset.brandfetch.io/idL0iThUh6/iddCQ52AR5.svg","background":"transparent","format":"svg","size":2215}]},{"type":"icon","theme":"dark","formats":[{"src":"https://asset.brandfetch.io/idL0iThUh6/idls3LaPPQ.png","background":null,"format":"png","height":400,"width":400,"size":2565}]}],"colors":[{"hex":"#0084ff","type":"accent","brightness":113},{"hex":"#00193E","type":"brand","brightness":22},{"hex":"#F03063","type":"brand","brightness":93},{"hex":"#7B0095","type":"brand","brightness":37},{"hex":"#76CC4B","type":"brand","brightness":176},{"hex":"#FFDA00","type":"brand","brightness":210},{"hex":"#000000","type":"dark","brightness":0},{"hex":"#ffffff","type":"light","brightness":255}],"fonts":[{"name":"Poppins","type":"title","origin":"google","originId":"Poppins","weights":[]},{"name":"Inter","type":"body","origin":"google","originId":"Inter","weights":[]}],"images":[{"type":"banner","formats":[{"src":"https://asset.brandfetch.io/idL0iThUh6/idUuia5imo.png","background":"transparent","format":"png","height":500,"width":1500,"size":5539}]}]}'
"400":
description: Invalid domain or ID supplied
"404":
description: The brand does not exist or the domain can't be resolved.
/search/brands/{nameQuery}:
get:
operationId: searchBrandByDomain
summary: Search for brands matching a given name.
description: |
Search for brands matching a given name.
parameters:
- name: nameQuery
in: path
required: true
description: The brand search name query
schema:
type: string
responses:
"200":
description: Brand search result
content:
application/json:
schema:
$ref: "#/components/schemas/BrandSearchResult"
"400":
description: Invalid search query
components:
schemas:
BrandSearchResult:
description: Brand search result
type: object
properties:
items:
type: array
items:
$ref: "#/components/schemas/Brand"
total:
type: integer
required:
- results
- total
Brand:
description: Object representing a brand
type: object
properties:
images:
type: array
items:
$ref: "#/components/schemas/ImageAsset"
fonts:
type: array
items:
$ref: "#/components/schemas/FontAsset"
domain:
type: string
claimed:
type: boolean
name:
type: string
description:
type: string
links:
type: array
items:
type: object
properties:
name:
type: string
url:
type: string
required:
- name
- url
logos:
type: array
items:
$ref: "#/components/schemas/ImageAsset"
colors:
type: array
items:
$ref: "#/components/schemas/ColorAsset"
required:
- name
- domain
- claimed
- description
- links
- logos
- colors
- fonts
- images
ColorAsset:
description: Brand color asset
type: object
properties:
brightness:
type: integer
hex:
type: string
type:
type: string
enum:
- accent
- brand
- customizable
- dark
- light
- vibrant
required:
- brightness
- hex
- type
FontAsset:
description: Brand font asset
type: object
properties:
originId:
type: string
origin:
type: string
enum:
- adobe
- custom
- google
- system
name:
type: string
type:
type: string
weights:
type: array
items:
type: number
items:
type: string
ImageAsset:
description: Brand image asset
type: object
properties:
formats:
type: array
items:
$ref: "#/components/schemas/ImageFormat"
theme:
type: string
enum:
- light
- dark
type:
type: string
enum:
- logo
- icon
- symbol
- banner
required:
- formats
- theme
- type
ImageFormat:
description: Brand image asset image format
type: object
properties:
size:
type: integer
src:
type: string
background:
type: string
enum:
- transparent
format:
type: string
width:
type: integer
height:
type: integer
required:
- size
- src
- background
- format
externalDocs:
description: Documentation
url: https://docs.brandfetch.com/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment