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

# Search skills

> Search the Fribl skills taxonomy by keyword. Filter by skill type and control the number of results returned. Use the `Accept-Language` header to receive skill names in a specific language. This endpoint does not require authentication.



## OpenAPI

````yaml /api-reference/openapi.json get /skills/search
openapi: 3.1.0
info:
  title: Fribl API
  description: >-
    The Fribl API enables intelligent talent matching powered by AI. Analyze CVs
    and job descriptions from text or file uploads, search and manage skills,
    match candidates to positions with configurable scoring weights, and source
    candidate profiles from external databases. All document processing is
    asynchronous — submit documents for analysis, poll for status, and retrieve
    structured results when ready.
  version: 1.0.0
  contact:
    name: Fribl Support
    url: https://fribl.co
servers:
  - url: https://api-service.fribl.co/api/v1
    description: Production
security:
  - apiKey: []
tags:
  - name: CVs
    description: >-
      Upload, analyze, retrieve, update, and delete candidate CVs. CVs can be
      submitted as raw text or as PDF file uploads. Processing is asynchronous —
      use the status endpoint to track progress.
  - name: Jobs
    description: >-
      Upload, analyze, retrieve, update, and delete job descriptions. Jobs can
      be submitted as raw text or as PDF file uploads. Processing is
      asynchronous — use the status endpoint to track progress.
  - name: Matching
    description: >-
      Match analyzed CVs against job descriptions using AI-powered scoring.
      Configure weights across experience, hard skills, soft skills, and
      education dimensions to tailor match results to your hiring priorities.
  - name: Sourcing
    description: >-
      Search for candidate profiles from external sources, retrieve cached
      search results, and ingest selected profiles into your Fribl workspace for
      matching.
  - name: Skills
    description: >-
      Search the Fribl skills taxonomy and retrieve available languages for
      skill translation. These endpoints are publicly accessible and do not
      require authentication.
  - name: Tokens
    description: >-
      Inspect your workspace's usage-based token balance, review the ledger of
      every charge and refund, and read the live per-action price list. Billable
      endpoints deduct tokens and return 402 when the balance is insufficient.
      Tokens are purchased and managed in the Fribl Console
      (https://console.fribl.co).
paths:
  /skills/search:
    get:
      tags:
        - Skills
      summary: Search skills
      description: >-
        Search the Fribl skills taxonomy by keyword. Filter by skill type and
        control the number of results returned. Use the `Accept-Language` header
        to receive skill names in a specific language. This endpoint does not
        require authentication.
      operationId: searchSkills
      parameters:
        - name: query
          in: query
          required: true
          description: Search query string. Must be at least 2 characters.
          schema:
            type: string
            minLength: 2
        - name: type
          in: query
          required: false
          description: Filter results by skill type.
          schema:
            type: string
            enum:
              - hard-skill
              - soft-skill
        - name: limit
          in: query
          required: false
          description: Maximum number of results to return.
          schema:
            type: integer
            minimum: 1
            maximum: 200
            default: 50
        - name: Accept-Language
          in: header
          required: false
          description: >-
            Language code for skill name translation (e.g., `en`, `fr`, `it`).
            Use the `/skills/languages` endpoint to retrieve available language
            codes.
          schema:
            type: string
      responses:
        '200':
          description: Matching skills.
          content:
            application/json:
              schema:
                type: object
                properties:
                  query:
                    type: string
                    description: The search query that was executed.
                  language:
                    type: string
                    description: The language used for skill name translation.
                  results:
                    type: array
                    items:
                      $ref: '#/components/schemas/Skill'
                  total:
                    type: integer
                    description: Total number of matching skills.
                required:
                  - query
                  - language
                  - results
                  - total
        '400':
          $ref: '#/components/responses/BadRequest'
      security: []
components:
  schemas:
    Skill:
      type: object
      description: >-
        A skill identified from a CV or job description, with type
        classification and match relationship.
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier of the skill.
        skill:
          type: string
          description: Name of the skill.
          example: JavaScript
        type:
          type: string
          enum:
            - hard-skill
            - soft-skill
          description: >-
            Canonical English type enum for the skill. This field is not
            translated.
        relationship:
          type: string
          enum:
            - required
            - optional
            - satisfies
          description: >-
            Canonical English relationship enum for the associated CV or job.
            This field is not translated.
        explanation:
          type:
            - string
            - 'null'
          description: >-
            AI-generated explanation of how this skill was identified or
            evaluated.
          example: Candidate demonstrates strong JavaScript proficiency
    ErrorResponse:
      type: object
      description: Standard error response.
      properties:
        error:
          type: string
          description: Human-readable error message.
      required:
        - error
  responses:
    BadRequest:
      description: The request was malformed or contained invalid parameters.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key in UUID format. Include this header with every authenticated
        request.

````