> ## Documentation Index
> Fetch the complete documentation index at: https://docs.magnific.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Search and filter icons by specified order

> Get a list of icons based on the provided parameters and ordering criteria.

Use the Magnific Icons API to list icons ordered by relevance, popularity, or recency. See the [Icons API overview](/api-reference/icons/icons-api) for authentication and usage guidance.


## OpenAPI

````yaml get /v1/icons
openapi: 3.0.0
info:
  description: >-
    The Magnific API is your gateway to a vast collection of high-quality
    digital resources for your applications and projects. As a leading platform,
    it offers a wide range of graphics, including vectors, photos,
    illustrations, icons, PSD templates, and more, all curated by talented
    designers from around the world.
  title: Magnific API
  version: 1.0.0
servers:
  - description: B2B API Production V1
    url: https://api.magnific.com
security:
  - magnificApiKey: []
paths:
  /v1/icons:
    get:
      tags:
        - Icons
      summary: Search and filter icons by specified order
      description: >-
        Get a list of icons based on the provided parameters and ordering
        criteria.
      operationId: search_icons
      parameters:
        - description: >
            Specifies the search query language using the ISO 639-1 (2-letter

            language code) and the ISO 3166-1 (2-letter country code) for
            language variants.

            The API will use "en-US" as a default language for processing if a
            code is not

            provided, or does not exist.
          example: en-US
          in: header
          name: Accept-Language
          required: false
          schema:
            type: string
        - description: >-
            Search term. If only term comes, it is searched for term, if only
            slug comes, it is searched for slug and if both come, it is searched
            for slug
          example: nature
          in: query
          name: term
          required: false
          schema:
            type: string
        - description: Search by slug
          example: dog
          in: query
          name: slug
          required: false
          schema:
            type: string
        - description: Page number. It must be greater than 0.
          example: 1
          in: query
          name: page
          required: false
          schema:
            type: integer
        - description: Results per page. It must be greater than 0.
          example: 100
          in: query
          name: per_page
          schema:
            type: integer
        - description: Icon family id.
          example: 30955
          in: query
          name: family-id
          required: false
          schema:
            minimum: 1
            type: integer
        - description: >
            Define order of results.

            - Note: If the term or slug parameter is used, the order will be the
            similarity of the search.
          example: relevance
          in: query
          name: order
          required: false
          schema:
            default: relevance
            enum:
              - relevance
              - recent
            type: string
        - description: >
            Size of the thumbnail. 

            If the size is not specified, the API will return 128 as a default
            size.
          example: 128, 512
          in: query
          name: thumbnail_size
          required: false
          schema:
            type: string
        - description: Filter parameters for icons
          explode: true
          in: query
          name: filters
          schema:
            $ref: '#/components/schemas/search_icons_filters_parameter'
          style: deepObject
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/search_icons_200_response'
          description: OK Response
        '400':
          content:
            application/json:
              examples:
                invalid_page:
                  summary: Parameter 'page' is not valid
                  value:
                    message: Parameter 'page' must be greater than 0
                invalid_query:
                  summary: Parameter 'query' is not valid
                  value:
                    message: Parameter 'query' must not be empty
                invalid_filter:
                  summary: Parameter 'filter' is not valid
                  value:
                    message: Parameter 'filter' is not valid
                generic_bad_request:
                  summary: Bad Request
                  value:
                    message: Parameter ':attribute' is not valid
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
            application/problem+json:
              examples:
                invalid_page:
                  summary: Parameter 'page' is not valid
                  value:
                    message: Validation error
                    invalid_params:
                      - field: page
                        reason: Parameter 'page' must be greater than 0
                      - field: per_page
                        reason: Parameter 'per_page' must be greater than 0
              schema:
                $ref: >-
                  #/components/schemas/get_all_style_transfer_tasks_400_response_1
          description: >-
            Bad Request - The server could not understand the request due to
            invalid syntax.
        '401':
          content:
            application/json:
              examples:
                invalid_api_key:
                  summary: API key is not valid
                  value:
                    message: Invalid API key
                missing_api_key:
                  summary: API key is not provided
                  value:
                    message: Missing API key
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
          description: >-
            Unauthorized - The client must authenticate itself to get the
            requested response.
        '404':
          content:
            application/json:
              examples:
                ai_resource_not_found:
                  summary: AI resource with provided id does not exist
                  value:
                    message: AI resource not found
                collection_not_found:
                  summary: Collection with provided id does not exist
                  value:
                    message: Collection not found
                resource_not_found:
                  summary: Resource with provided id does not exist
                  value:
                    message: Resource not found
                resources_not_found:
                  summary: Resources not found
                  value:
                    message: Resources not found
                user_not_found:
                  summary: User with provided id does not exist
                  value:
                    message: User not found
                video_not_found:
                  summary: Video with provided id does not exist
                  value:
                    message: Video not found
                video_assets_not_found:
                  summary: Video with provided id has not associated assets
                  value:
                    message: Video not found
                icon_not_found:
                  summary: Icon with provided id does not exist
                  value:
                    message: Icon not found
                author_not_found:
                  summary: Author with provided id does not exist
                  value:
                    message: Author not found
                developer_not_found:
                  summary: Developer with provided email does not exist
                  value:
                    message: Developer not found
                country_not_found:
                  summary: Country with provided code does not exist
                  value:
                    message: Country not found
                generic_not_found:
                  summary: Not Found
                  value:
                    message: Not found
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_400_response'
          description: Not Found - The server can not find the requested resource.
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/get_all_style_transfer_tasks_500_response'
          description: >-
            Internal Server Error - The server has encountered a situation it
            doesn't know how to handle.
components:
  schemas:
    search_icons_filters_parameter:
      properties:
        color:
          description: Filter by color.
          enum:
            - gradient
            - solid-black
            - multicolor
            - azure
            - black
            - blue
            - chartreuse
            - cyan
            - gray
            - green
            - orange
            - red
            - rose
            - spring-green
            - violet
            - white
            - yellow
          example: red
          type: string
        shape:
          description: Filter by shape.
          enum:
            - outline
            - fill
            - lineal-color
            - hand-drawn
          example: outline
          type: string
        period:
          default: all
          description: Filter by period.
          enum:
            - three-months
            - six-months
            - one-year
            - all
          example: all
          type: string
        free_svg:
          default: all
          description: Filter by free svg, for free or premium item or all for both
          enum:
            - all
            - free
            - premium
          example: free
          type: string
        icon_type:
          description: Filter of available icon types.
          example:
            - standard
            - sticker
          items:
            enum:
              - standard
              - animated
              - sticker
              - uicon
            type: string
          type: array
      type: object
    search_icons_200_response:
      example:
        data:
          - id: 52912
            name: >-
              a woman reads a book in a tablet sits in the luxurious back of the
              library
            created: '2023-03-07T23:05:26.000Z'
            slug: >-
              a-woman-reads-a-book-in-a-tablet-sits-in-the-luxurious-back-of-the-library
            style:
              id: 50
              name: Meticulous Yellow shadow
            family:
              id: 1
              name: Outline
              total: 1200
            author:
              id: 2147483647
              name: John Doe
              avatar: https://avatar.cdnpk.net/61668527-220726032514.jpg
              assets: 0
              slug: merry-christmas
            thumbnails:
              - url: >-
                  https://v4.cdnpk.net/videvo_files/video/free/video0485/thumbnails/_import_61a866e2519c71.61070863_large.png
                width: 512
                height: 512
              - url: >-
                  https://v4.cdnpk.net/videvo_files/video/free/video0485/thumbnails/_import_61a866e2519c71.61070863_large.png
                width: 512
                height: 512
            free_svg: true
            tags:
              - slug: dog
                name: Dog
              - slug: dog
                name: Dog
          - id: 52912
            name: >-
              a woman reads a book in a tablet sits in the luxurious back of the
              library
            created: '2023-03-07T23:05:26.000Z'
            slug: >-
              a-woman-reads-a-book-in-a-tablet-sits-in-the-luxurious-back-of-the-library
            style:
              id: 50
              name: Meticulous Yellow shadow
            family:
              id: 1
              name: Outline
              total: 1200
            author:
              id: 2147483647
              name: John Doe
              avatar: https://avatar.cdnpk.net/61668527-220726032514.jpg
              assets: 0
              slug: merry-christmas
            thumbnails:
              - url: >-
                  https://v4.cdnpk.net/videvo_files/video/free/video0485/thumbnails/_import_61a866e2519c71.61070863_large.png
                width: 512
                height: 512
              - url: >-
                  https://v4.cdnpk.net/videvo_files/video/free/video0485/thumbnails/_import_61a866e2519c71.61070863_large.png
                width: 512
                height: 512
            free_svg: true
            tags:
              - slug: dog
                name: Dog
              - slug: dog
                name: Dog
        meta:
          pagination:
            current_page: 1
            per_page: 1
            last_page: 1
            total: 1
      properties:
        data:
          items:
            $ref: '#/components/schemas/icon_b2b'
          type: array
        meta:
          $ref: '#/components/schemas/search_icons_200_response_meta'
      type: object
    get_all_style_transfer_tasks_400_response:
      example:
        message: message
      properties:
        message:
          type: string
      type: object
    get_all_style_transfer_tasks_400_response_1:
      properties:
        problem:
          $ref: >-
            #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem
      type: object
    get_all_style_transfer_tasks_500_response:
      example:
        message: Internal Server Error
      properties:
        message:
          example: Internal Server Error
          type: string
      type: object
    icon_b2b:
      example:
        id: 52912
        name: >-
          a woman reads a book in a tablet sits in the luxurious back of the
          library
        created: '2023-03-07T23:05:26.000Z'
        slug: >-
          a-woman-reads-a-book-in-a-tablet-sits-in-the-luxurious-back-of-the-library
        style:
          id: 50
          name: Meticulous Yellow shadow
        family:
          id: 1
          name: Outline
          total: 1200
        author:
          id: 2147483647
          name: John Doe
          avatar: https://avatar.cdnpk.net/61668527-220726032514.jpg
          assets: 0
          slug: merry-christmas
        thumbnails:
          - url: >-
              https://v4.cdnpk.net/videvo_files/video/free/video0485/thumbnails/_import_61a866e2519c71.61070863_large.png
            width: 512
            height: 512
          - url: >-
              https://v4.cdnpk.net/videvo_files/video/free/video0485/thumbnails/_import_61a866e2519c71.61070863_large.png
            width: 512
            height: 512
        free_svg: true
        tags:
          - slug: dog
            name: Dog
          - slug: dog
            name: Dog
      properties:
        id:
          example: 52912
          type: integer
        name:
          example: >-
            a woman reads a book in a tablet sits in the luxurious back of the
            library
          type: string
        created:
          example: '2023-03-07T23:05:26.000Z'
          format: date-time
          type: string
        slug:
          example: >-
            a-woman-reads-a-book-in-a-tablet-sits-in-the-luxurious-back-of-the-library
          type: string
        style:
          $ref: '#/components/schemas/icon_style'
        family:
          $ref: '#/components/schemas/icon_family'
        author:
          $ref: '#/components/schemas/author'
        thumbnails:
          items:
            $ref: '#/components/schemas/source'
          type: array
        free_svg:
          description: If true, the icon has the svg for free downloading
          example: true
          type: boolean
        tags:
          items:
            $ref: '#/components/schemas/tag'
          type: array
      required:
        - author
        - created
        - family
        - free_svg
        - id
        - name
        - slug
        - style
        - thumbnails
      type: object
    search_icons_200_response_meta:
      example:
        pagination:
          current_page: 1
          per_page: 1
          last_page: 1
          total: 1
      properties:
        pagination:
          $ref: '#/components/schemas/pagination'
      required:
        - pagination
      type: object
    get_all_style_transfer_tasks_400_response_1_problem:
      properties:
        message:
          example: Validation error
          type: string
        invalid_params:
          items:
            $ref: >-
              #/components/schemas/get_all_style_transfer_tasks_400_response_1_problem_invalid_params_inner
          type: array
      required:
        - invalid_params
        - message
      type: object
    icon_style:
      example:
        id: 50
        name: Meticulous Yellow shadow
      properties:
        id:
          description: Style ID
          example: 50
          type: integer
        name:
          description: Style name
          example: Meticulous Yellow shadow
          type: string
      required:
        - id
        - name
      type: object
    icon_family:
      example:
        id: 1
        name: Outline
        total: 1200
      nullable: true
      properties:
        id:
          description: Id of the icon family
          example: 1
          type: integer
        name:
          description: Name of the icon family
          example: Outline
          type: string
        total:
          description: Total of icons in the family
          example: 1200
          type: integer
      type: object
    author:
      example:
        id: 2147483647
        name: John Doe
        avatar: https://avatar.cdnpk.net/61668527-220726032514.jpg
        assets: 0
        slug: merry-christmas
      properties:
        id:
          maximum: 9223372036854776000
          minimum: 1
          type: integer
        name:
          example: John Doe
          minLength: 1
          type: string
        avatar:
          example: https://avatar.cdnpk.net/61668527-220726032514.jpg
          format: uri
          type: string
        assets:
          description: The number of assets of this author.
          minimum: 0
          type: integer
        slug:
          example: merry-christmas
          minLength: 1
          type: string
      required:
        - assets
        - avatar
        - id
        - name
        - slug
      type: object
    source:
      example:
        url: >-
          https://v4.cdnpk.net/videvo_files/video/free/video0485/thumbnails/_import_61a866e2519c71.61070863_large.png
        width: 512
        height: 512
      properties:
        url:
          example: >-
            https://v4.cdnpk.net/videvo_files/video/free/video0485/thumbnails/_import_61a866e2519c71.61070863_large.png
          format: uri
          type: string
        width:
          example: 512
          type: integer
        height:
          example: 512
          type: integer
      type: object
    tag:
      example:
        slug: dog
        name: Dog
      properties:
        slug:
          example: dog
          type: string
        name:
          example: Dog
          type: string
      type: object
    pagination:
      description: Metainformation about pagination
      example:
        current_page: 1
        per_page: 1
        last_page: 1
        total: 1
      properties:
        current_page:
          description: The current page.
          example: 1
          type: integer
        per_page:
          description: The limit of resources per page.
          example: 1
          type: integer
        last_page:
          description: The total number of pages.
          example: 1
          type: integer
        total:
          description: The total number of resources.
          example: 1
          type: integer
      type: object
    get_all_style_transfer_tasks_400_response_1_problem_invalid_params_inner:
      properties:
        name:
          description: Name of the invalid parameter.
          example: page
          type: string
        field:
          description: Field of the invalid parameter. Mirrors `name`.
          example: page
          type: string
        reason:
          example: Parameter 'page' must be greater than 0
          type: string
      required:
        - field
        - name
        - reason
      type: object
  securitySchemes:
    magnificApiKey:
      description: >
        Your Magnific API key. Required for authentication. [Learn how to obtain
        an API key](https://docs.magnific.com/quickstart)
      in: header
      name: x-magnific-api-key
      type: apiKey

````