99designs Designers API
Search and retrieve designers, reviews, and portfolios.
Search and retrieve designers, reviews, and portfolios.
openapi: 3.0.3
info:
title: 99designs Briefs Designers API
description: 'The 99designs API lets platforms and partners embed a fully-managed creative marketplace: search and match designers, collect design briefs, place orders against 99designs products, and generate partner coupons. Authentication uses a pair of API key headers (Api-Key-Id and Api-Key-Secret) issued by 99designs after a partner requests access.'
version: v1
contact:
name: 99designs API
url: https://99designs.com/api
x-apis-json-source: https://api.99designs.com/resources/docs/
x-provenance:
generated: '2026-07-17'
method: searched
source: https://api.99designs.com/resources/docs/
servers:
- url: https://api.99designs.com/resources/v1
description: Production
security:
- ApiKeyId: []
ApiKeySecret: []
tags:
- name: Designers
description: Search and retrieve designers, reviews, and portfolios.
paths:
/designers:
post:
operationId: searchDesigners
tags:
- Designers
summary: Search designers
description: Search the designer network matching the supplied criteria.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DesignerSearchRequest'
responses:
'200':
description: Matching designers
content:
application/json:
schema:
$ref: '#/components/schemas/DesignerSearchResults'
'400':
$ref: '#/components/responses/ValidationError'
/designers/{designerId}:
get:
operationId: getDesigner
tags:
- Designers
summary: Retrieve a designer
description: Retrieve a single designer profile by ID.
parameters:
- $ref: '#/components/parameters/DesignerId'
responses:
'200':
description: Designer profile
content:
application/json:
schema:
$ref: '#/components/schemas/Designer'
'404':
$ref: '#/components/responses/NotFound'
/designers/{designerId}/reviews:
get:
operationId: getDesignerReviews
tags:
- Designers
summary: Retrieve designer reviews
description: Fetch customer reviews for a designer.
parameters:
- $ref: '#/components/parameters/DesignerId'
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PageSize'
responses:
'200':
description: Designer reviews
content:
application/json:
schema:
$ref: '#/components/schemas/ReviewResults'
'404':
$ref: '#/components/responses/NotFound'
/designers/{designerId}/designs:
get:
operationId: getDesignerDesigns
tags:
- Designers
summary: Retrieve designer portfolio
description: Get portfolio designs for a designer.
parameters:
- $ref: '#/components/parameters/DesignerId'
- $ref: '#/components/parameters/Page'
- $ref: '#/components/parameters/PageSize'
- name: category
in: query
schema:
type: array
items:
type: string
responses:
'200':
description: Portfolio designs
content:
application/json:
schema:
$ref: '#/components/schemas/DesignResults'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
Review:
type: object
properties:
rating:
type: number
message:
type: string
displayName:
type: string
Designer:
type: object
properties:
id:
type: integer
coverImageUrl:
type: string
biography:
type: string
avatarUrl:
type: string
displayName:
type: string
lastSeenAt:
type: string
designs:
type: array
items:
$ref: '#/components/schemas/Design'
designerLevel:
type: string
expertise:
type: string
expertiseCategories:
type: array
items:
type: string
review:
type: object
reviews:
type: array
items:
$ref: '#/components/schemas/Review'
country:
type: string
repeatCount:
type: integer
responsivenessScore:
type: number
completedProjectsCount:
type: integer
isAvailable:
type: boolean
workPreferences:
type: object
certifications:
type: array
items:
type: string
isBoosted:
type: boolean
DesignerSearchRequest:
type: object
properties:
certifications:
type: array
items:
type: string
category:
type: array
items:
type: string
industry:
type: array
items:
type: string
language:
type: array
items:
type: string
designerLevel:
type: array
items:
type: string
lastActivity:
type: string
designLimit:
type: integer
keywordQuery:
type: string
pageSize:
type: integer
page:
type: integer
country:
type: array
items:
type: string
description: ISO alpha-2 country code
Design:
type: object
properties:
id:
type: integer
description:
type: string
imageUrl:
type: string
title:
type: string
tags:
type: array
items:
type: string
DesignerSearchResults:
type: object
properties:
totalPages:
type: integer
totalResults:
type: integer
designers:
type: array
items:
$ref: '#/components/schemas/Designer'
ErrorEnvelope:
type: object
properties:
errors:
type: array
items:
type: object
properties:
path:
type: string
message:
type: string
message:
type: string
DesignResults:
type: object
properties:
totalPages:
type: integer
totalResults:
type: integer
designs:
type: array
items:
$ref: '#/components/schemas/Design'
ReviewResults:
type: object
properties:
totalPages:
type: integer
totalResults:
type: integer
reviews:
type: array
items:
$ref: '#/components/schemas/Review'
parameters:
DesignerId:
name: designerId
in: path
required: true
schema:
type: integer
PageSize:
name: pageSize
in: query
schema:
type: integer
Page:
name: page
in: query
schema:
type: integer
responses:
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
ValidationError:
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorEnvelope'
securitySchemes:
ApiKeyId:
type: apiKey
in: header
name: Api-Key-Id
ApiKeySecret:
type: apiKey
in: header
name: Api-Key-Secret