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

# Search LinkedIn courses



## OpenAPI

````yaml /openapi.json post /linkedin/search/courses
openapi: 3.1.0
info:
  title: Bridgly API
  description: >-
    Web scraping API for LinkedIn, X (Twitter) and Reddit. Authenticated
    endpoints accept a Bridgly API key (`bgly_…`) via `Authorization: Bearer
    <token>`.
  version: 1.0.0
servers:
  - url: https://api.bridgly.app
    description: Production
  - url: http://localhost:4000
    description: Local
security: []
tags:
  - name: LinkedIn
    description: Scrape LinkedIn profiles, companies, posts, and search.
  - name: Reddit
    description: Scrape Reddit posts, subreddits, users, and search.
  - name: X (Twitter)
    description: Scrape tweets and search X.
paths:
  /linkedin/search/courses:
    post:
      tags:
        - LinkedIn
      summary: Search LinkedIn courses
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                keyword:
                  type: string
                  description: >-
                    Keyword(s) to search LinkedIn for, e.g. "openai", "software
                    engineer", "fintech".
                start:
                  description: Pagination offset into the result list. Defaults to 0.
                  type: integer
                  minimum: 0
                  maximum: 9007199254740991
                count:
                  description: Number of results to return. Defaults to 10.
                  type: integer
                  minimum: 1
                  maximum: 9007199254740991
              required:
                - keyword
      responses:
        '200':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  timeMs:
                    type: number
                    description: >-
                      Wall-clock time the request took to complete, in
                      milliseconds.
                  creditsCost:
                    type: number
                    description: Number of account credits this request consumed.
                  data:
                    type: object
                    properties:
                      courses:
                        type: array
                        items:
                          type: object
                          properties:
                            courseUrn:
                              type: string
                              description: >-
                                Stable course identifier (always present), e.g.
                                urn:li:lyndaCourse:<id>.
                            courseId:
                              anyOf:
                                - type: string
                                - type: 'null'
                              description: >-
                                Numeric course id parsed from the course URN,
                                e.g. "4571000".
                            universalName:
                              anyOf:
                                - type: string
                                - type: 'null'
                              description: Vanity slug from the /learning/<slug> URL.
                            courseUrl:
                              anyOf:
                                - type: string
                                - type: 'null'
                              description: >-
                                Canonical course URL (tracking/courseClaim query
                                params stripped).
                            name:
                              anyOf:
                                - type: string
                                - type: 'null'
                              description: Course title.
                            format:
                              anyOf:
                                - type: string
                                - type: 'null'
                              description: Content format, e.g. "Course".
                            duration:
                              anyOf:
                                - type: string
                                - type: 'null'
                              description: >-
                                Duration label as rendered by LinkedIn, e.g. "3h
                                43m".
                            durationMinutes:
                              anyOf:
                                - type: number
                                - type: 'null'
                              description: >-
                                Total course length in minutes, parsed from the
                                duration label (e.g. "3h 43m" -> 223).
                            author:
                              anyOf:
                                - type: string
                                - type: 'null'
                              description: Instructor / author name.
                            releasedDate:
                              anyOf:
                                - type: string
                                - type: 'null'
                              description: Release date label, e.g. "Jan 9, 2025".
                            releasedYear:
                              anyOf:
                                - type: number
                                - type: 'null'
                              description: >-
                                Release year parsed from the release date label,
                                e.g. 2025.
                            releasedMonth:
                              anyOf:
                                - type: number
                                - type: 'null'
                              description: >-
                                Release month (1-12) parsed from the release
                                date label, e.g. 1 for January.
                            releasedDay:
                              anyOf:
                                - type: number
                                - type: 'null'
                              description: >-
                                Release day of month parsed from the release
                                date label, e.g. 9.
                            thumbnailUrl:
                              anyOf:
                                - type: string
                                - type: 'null'
                              description: Largest available course thumbnail URL.
                          required:
                            - courseUrn
                            - courseId
                            - universalName
                            - courseUrl
                            - name
                            - format
                            - duration
                            - durationMinutes
                            - author
                            - releasedDate
                            - releasedYear
                            - releasedMonth
                            - releasedDay
                            - thumbnailUrl
                          additionalProperties: false
                        description: Ranked matching courses.
                      keyword:
                        type: string
                        description: The keyword(s) that were searched on LinkedIn.
                      totalResultCount:
                        anyOf:
                          - type: number
                          - type: 'null'
                        description: >-
                          Total number of matching results reported by LinkedIn
                          (not the number returned in this page).
                    required:
                      - courses
                      - keyword
                      - totalResultCount
                    additionalProperties: false
                required:
                  - timeMs
                  - creditsCost
                  - data
                additionalProperties: false
        '400':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                    description: Human-readable description of what went wrong.
                required:
                  - status
                  - message
                additionalProperties: false
        '401':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                    description: Human-readable description of what went wrong.
                required:
                  - status
                  - message
                additionalProperties: false
        '402':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                    description: Human-readable description of what went wrong.
                required:
                  - status
                  - message
                additionalProperties: false
        '404':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                    description: Human-readable description of what went wrong.
                required:
                  - status
                  - message
                additionalProperties: false
        '500':
          description: Default Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    enum:
                      - error
                  message:
                    type: string
                    description: Human-readable description of what went wrong.
                required:
                  - status
                  - message
                additionalProperties: false
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        A Bridgly API key (`bgly_…`). Metered endpoints deduct credits from the
        resolved account.

````