---
title: "Search for courses"
slug: "search-for-courses"
updated: 2024-10-25T18:04:27Z
published: 2026-02-10T22:32:35Z
---

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

# Search for courses

Get/SearchCourses

Allows you to search for courses.

SecurityAPI Key: api_keyHeader parameter nameapi_key

Query parameterspageIndexinteger (int32) 

A 0-based index of the paged results you wish to receive. In general, you should start with a value of zero and increment it as you need to retrieve additional results. If not supplied, a value of 0 is used (the first page of results).

pageSizeinteger (int32) 

Indicates how many results you want per page. if not supplied, a default value of 100 is used.

sortstring

The value you want to sort by. If not supplied, a default value of "Name" will be used. You can append " DESC" after the sort value to sort descending. For example, "Name DESC" would sort by name in descending order. Possible values:

- Name
- Organization
- ContentProvider
- AvailableInstructorLed
- AvailableSelfPaced

namestring

An optional parameter used to filter for courses by name. When specified, only courses that have names that contain or match this value will be returned.

externalIdstring

An optional parameter used to filter for courses by external ID

hasLabsboolean

An optional parameter used to filter for courses that contain labs. If true is passed, only courses with labs are returned. If false is passed, only courses without labs are returned.

createdAfterstring

An optional parameter used to filter for courses created after a specified date. When used in conjunction with the "createdBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.

createdBeforestring

An optional parameter used to filter for courses created before a specified date. When used in conjunction with the "createdAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.

lastModifiedAfterstring

An optional parameter used to filter for courses modified after a specified date. When used in conjunction with the "lastModifiedBefore" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.

lastModifiedBeforestring

An optional parameter used to filter for courses modified before a specified date. When used in conjunction with the "lastModifiedAfter" parameter, it becomes possible to filter for a given time range. This should be provided in unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.

availableInstructorLedboolean

An optional parameter used to filter for courses that are available instructor-led. If true is passed, only courses that are avaialble instructor-led are returned. If false is passed, only courses that are not available instructor-led are returned.

availableSelfPacedboolean

An optional parameter used to filter for courses that are available self-paced. If true is passed, only courses that are avaialble self-paced are returned. If false is passed, only courses that are not available self-paced are returned.

Responses200

OK Response

<select class='api-response-data' aria-label='Media type'><option value='8f72a1a7-d81f-48e3-b110-009ef4b4b87e'>application/json</option>
</select>Expand Allobject  Statusinteger  (int32)    

Indicates the status of the API request.

0 = Success 10 = Error 20 = Not found 30 = Invalid integration key

Example10
Errorstring   | null  

Error details. This will only have a value if an error was encountered. The status property will also be set to Error (10).

TotalCountinteger  (int32)    

The total number of results that match the search conditions, not all of which may be in the current result set.

Example1
TotalPagesinteger  (int32)    

The total number of result pages that match the search conditions.

Example1
Results Array of object (CourseSearchResult)   

See CourseSearchResult.

object  Idinteger  (int32)    

The unique identifier of the course.

Example4567
ExternalIdstring   | null  

The course assignment's external ID, usually a unique identifier from the calling system.

ExampleFC8D0166-B2F3-4705-8187-5D72BA81F511
Namestring    

The name of the course.

ExampleCourse A
Descriptionstring   | null  

The activity's description

OrganizationIdinteger  (int32)    

The ID of the organization the course belongs to.

Example455
OrganizationNamestring    

The name of the organization the course belongs to.

ExampleSample Organization
ContentProviderIdinteger  (int32)   | null  

The ID of the course content provider.

Example9876
AvailableInstructorLedboolean    

Indicates whether the course is available instructor-led.

Exampletrue
AvailableSelfPacedboolean    

Indicates whether the course is available self-paced.

Examplefalse
CustomFields Array of object (CustomField)   

See CustomField

object  Namestring    

The name of the custom field.

ExampleMyCustomText
TexValuestring    

The value of the custom field.

ExampleWoohoo!

Createdinteger  (int64)    

When the course was created. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.

Example1449496820
LastModifiedinteger  (int64)    

When the course was last modified. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.

Example1584035105
AutoArchiveDateinteger  (int64)   | null  

When the course is scheduled to be archived. Provided in Unix epoch format, which is the number of seconds that have elapsed since midnight UTC January 1st, 1970.

Example1453024103
