99designs Designers API

Search and retrieve designers, reviews, and portfolios.

OpenAPI Specification

99designs-designers-api-openapi.yml Raw ↑
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