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

# Search learning components

> <Warning>This endpoint is for free-text semantic search across learning component descriptions. To retrieve learning components for a specific standard, use [Learning components for a standard](/api-reference/learning-components/learning-components-for-a-standard) instead.</Warning>

Searches for LearningComponents using semantic search against learning component descriptions.

Results are ranked by relevance to the query text and include a `score` reflecting vector similarity. Use the optional `academicSubject` filter to narrow results to a specific subject area.

Use this endpoint when you need to:
- Find learning components relevant to a specific skill or concept
- Discover granular instructional targets related to a teaching goal
- Search for LCs to map to your own content or assessments

**Related topics:**
- [Understanding Learning Components](/knowledge-graph/entity-and-relationship-reference/learning-components)
- [Available LC coverage by subject and state](/knowledge-graph/entity-and-relationship-reference/learning-components#current-lc-mappings)




## OpenAPI

````yaml /api-reference/knowledge-graph-api/openapi.yaml get /learning-components/search
openapi: 3.0.3
info:
  title: Learning Commons Knowledge Graph REST API
  description: >
    REST API for accessing education knowledge graph data including academic
    standards, learning components, and curriculum information.


    **Key datasets:**

    - **Academic standards**: Official state standards from all 50 U.S. states
    sourced from 1EdTech's CASE Network

    - **Curriculum**: Structured course content including courses, lesson
    groupings (units, sections, modules), lessons, activities, and assessments

    - **Learning components**: Granular, teachable skills that break down broad
    standards into actionable instructional units

    - **Relationships**: Hierarchical and semantic connections between
    standards, learning components, and frameworks


    **Learn more:**

    - [Knowledge Graph
    Overview](/knowledge-graph/understanding-knowledge-graph/about-knowledge-graph)

    - [Academic Standards
    Dataset](/knowledge-graph/entity-and-relationship-reference/academic-standards)

    - [Learning Components
    Dataset](/knowledge-graph/entity-and-relationship-reference/learning-components)

    - [Quick Start Guide](/knowledge-graph/getting-started/quickstart)
  version: '0'
servers:
  - url: https://api.learningcommons.org/knowledge-graph/v0
    description: Production server
security:
  - ApiKeyAuth: []
tags:
  - name: Academic standards
    description: Academic standards operations
  - name: Curriculum
    description: Curriculum and course operations
  - name: Hierarchy
    description: Hierarchical navigation operations
  - name: Learning components
    description: Learning component operations
  - name: Learning progressions
    description: Learning progression and prerequisite relationships
  - name: Search
    description: Search and discovery operations
  - name: Standards crosswalks
    description: Standards crosswalk operations
  - name: Standards frameworks
    description: Standards frameworks operations
paths:
  /learning-components/search:
    get:
      tags:
        - Learning components
        - Search
      summary: Search learning components
      description: >
        <Warning>This endpoint is for free-text semantic search across learning
        component descriptions. To retrieve learning components for a specific
        standard, use [Learning components for a
        standard](/api-reference/learning-components/learning-components-for-a-standard)
        instead.</Warning>


        Searches for LearningComponents using semantic search against learning
        component descriptions.


        Results are ranked by relevance to the query text and include a `score`
        reflecting vector similarity. Use the optional `academicSubject` filter
        to narrow results to a specific subject area.


        Use this endpoint when you need to:

        - Find learning components relevant to a specific skill or concept

        - Discover granular instructional targets related to a teaching goal

        - Search for LCs to map to your own content or assessments


        **Related topics:**

        - [Understanding Learning
        Components](/knowledge-graph/entity-and-relationship-reference/learning-components)

        - [Available LC coverage by subject and
        state](/knowledge-graph/entity-and-relationship-reference/learning-components#current-lc-mappings)
      operationId: searchLearningComponents
      parameters:
        - name: query
          in: query
          required: true
          description: >-
            Free-text query for semantic search against learning component
            descriptions. Results are ranked by relevance score.
          schema:
            type: string
            maxLength: 500
        - $ref: '#/components/parameters/AcademicSubjectParam'
        - name: limit
          in: query
          required: false
          description: >-
            Maximum number of results to return. Default is 5. Maximum allowed
            is 50.
          schema:
            type: integer
            minimum: 1
            maximum: 50
            default: 5
      responses:
        '200':
          description: Successfully retrieved search results
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/LearningComponentSearchResult'
              example:
                - identifier: 0013fbee-3e76-500f-9978-42aa1a65f105
                  description: Use conversions to solve multi-step real-world problems
                  author: Achievement Network
                  provider: Learning Commons
                  license: https://creativecommons.org/licenses/by/4.0/
                  attributionStatement: >-
                    Knowledge Graph is provided by Learning Commons under the CC
                    BY-4.0 license. Learning Commons received learning
                    components under CC BY-4.0 from Achievement Network.
                  score: 0.94
                - identifier: 0046446a-0a9b-5ace-92a3-23d4bb158c68
                  description: >-
                    Determine the lateral surface area of three-dimensional
                    cylinders in real-world problems
                  author: Achievement Network
                  provider: Learning Commons
                  license: https://creativecommons.org/licenses/by/4.0/
                  attributionStatement: >-
                    Knowledge Graph is provided by Learning Commons under the CC
                    BY-4.0 license. Learning Commons received learning
                    components under CC BY-4.0 from Achievement Network.
                  score: 0.81
        '400':
          description: Bad request - Missing required query parameter
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: ValidationError
                message: >-
                  Missing required parameter: query. Example:
                  ?query=solve+multi-step+real-world+problems
                requestId: req_12345
        '422':
          description: >-
            Unprocessable Entity - Invalid parameter values (e.g., enum value
            not in allowed list)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: ValidationError
                message: >-
                  Input should be 'English Language Arts', 'Mathematics',
                  'Science', 'Social Studies', or 'Other'
                requestId: req_12345
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              example:
                error: InternalServerError
                message: >-
                  An unexpected error occurred while searching for learning
                  components
                requestId: req_12345
components:
  parameters:
    AcademicSubjectParam:
      name: academicSubject
      in: query
      required: false
      description: Filter by academic subject area
      schema:
        $ref: '#/components/schemas/AcademicSubjectENUM'
  schemas:
    LearningComponentSearchResult:
      description: >-
        A LearningComponentSummary enriched with a relevance score from the
        search.
      allOf:
        - $ref: '#/components/schemas/LearningComponentSummary'
        - type: object
          required:
            - score
          properties:
            score:
              type: number
              format: float
              minimum: 0
              maximum: 1
              description: >-
                Relevance score between 0 and 1 reflecting semantic similarity
                to the search query. Higher values indicate stronger alignment
                with the query text.
    Error:
      type: object
      description: Standard error response object returned for all error conditions
      required:
        - error
        - message
        - requestId
      properties:
        error:
          type: string
          description: >-
            A machine-readable error type identifier (e.g., ValidationError,
            NotFoundError, InternalServerError)
        message:
          type: string
          description: >-
            A human-readable error message that explains what went wrong and may
            include actionable guidance
        requestId:
          type: string
          description: >-
            A unique identifier for this request, useful for debugging and
            support
        details:
          type: object
          description: >-
            Optional additional details about the error, such as validation
            failures or field-specific issues
          additionalProperties: true
    AcademicSubjectENUM:
      type: string
      description: Academic subject area
      enum:
        - English Language Arts
        - Mathematics
        - Science
        - Social Studies
        - Other
    LearningComponentSummary:
      type: object
      description: >
        A lightweight representation of a LearningComponent containing only
        essential information.


        This summary format is used in relationship endpoints (standards to
        learning components) to keep responses fast and enable efficient
        traversal. To retrieve full details for a learning component, use the
        GET /learning-components/{identifier} endpoint.
      required:
        - identifier
        - author
        - provider
        - license
        - attributionStatement
      properties:
        identifier:
          type: string
          description: >-
            The unique identifier for this learning component in the Knowledge
            Graph system. Use this identifier to retrieve the full learning
            component details via GET /learning-components/{identifier}.
        description:
          type: string
          nullable: true
          description: >-
            A clear, concise statement describing the specific skill or concept
            this learning component represents.
        author:
          type: string
          description: >-
            The author or creator of this learning component, typically the
            organization that developed the LC framework
        provider:
          type: string
          description: >-
            The service provider or organization that makes this data available
            in the knowledge graph
        license:
          type: string
          format: uri
          description: A URL to the license document that applies to this content
        attributionStatement:
          type: string
          description: >-
            A textual credit that acknowledges the source and creator of this
            work, as required by the CC BY 4.0 license. If you display or
            redistribute this learning component, you must include this
            attribution statement to comply with the license terms.
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: >-
        API key for authentication. Include your API key in the x-api-key header
        for all requests.

````