Learning Object API V3
Inokufu's Learning Object API allows you to programmatically access our Learning Objects Index of more than 4M+ learning objects (LO) from various sources such as YouTube, Coursera, edX, Apple podcasts, Google Play store, etc.
This API was built to provide a single and easy acces to Open Educational Ressources (OER) and ressources from paying or private repositories.
This documentation describes the 3rd and latest version of the Learning Object API. As of January 1st, 2024, the V2 is being deprecated and we highly recommend to switch to the V3 for significantly higher performance. The documentation of the V2 is available here.
Pricing & access
Pricing: discover our various free and paid plans, depending on your needs and use case.
👉 Learn more about Usage plans
Authentication: learn how to access the API and securely authenticate your calls.
👉 Learn more about Authentication
Endpoints
Main endpoint
/search is the main endpoint of this API. It enables you to search learning object by type (e.g. video, mooc, book, etc) or by provider (e.g. youtube, coursera, applebook, etc) and many more filters.
👉 Learn more about /search endpoint
Utility endpoints
We also offer 7 utility endpoints:
/lang endpoint returns a list of languages currently supported by the API.
👉 Learn more about /lang endpoint
/model endpoint returns a list of models currently supported by the API.
👉 Learn more about /model endpoint
/provider endpoint returns a list of the major providers currently supported by the API.
👉 Learn more about /provider endpoint
/type endpoint returns a list of types currently supported by the API.
👉 Learn more about /type endpoint
/bloom endpoint returns a list of the learning goals based on Bloom taxonomy and that are associated to the learning object provided by the API.
👉 Learn more about /bloom endpoint
/address endpoint the coordinates of an address in France.
👉 Learn more about /address endpoint
/license endpoint returns a list of licenses currently supported by the API.
👉 Learn more about /license endpoint
Reading this documentation
Each API endpoint in this documentation is described using several parts:
The HTTP method. Includes
GET
,POST
,PUT
,PATCH
,DELETE
.The base path. URLs referenced in the documentation have a base path such as
https://api.gateway.inokufu.com/learningobject/v3
. This base path goes before the endpoint path.The endpoint path. This path goes after the base path and enable you to access the specific endpoint you need. For example, to access the Search endpoint of the Learning object API v3, you must add
/search
to the base path:https://api.gateway.inokufu.com/learningobject/v3/search
Required parameters. These parameters must be included in a request. Query parameters are added to the end of the URL with query string encoding. In the example above,
lang=en
andtype=video
are required parameters.Optional parameters. These parameters can be included in a request to customize the query.
Authentication. If an API endpoint requires authentication, the API key must be included in the request header.
Code examples. Each endpoint has example requests in cURL, python, php and javascript format.
API versioning
Each Inokufu API has a version string that is specified in the base URL. The version string for a given Inokufu API can be incremented independently from other Inokufu APIs. We encourage you to use the newest available version of the Inokufu APIs.
Backwards compatible changes
The following changes to a Inokufu API are considered backwards compatible. The version string of an API will not be incremented if we:
Add properties to JSON objects.
Change the number of items returned in a single listing request.
Change rate limiting thresholds.
Change the structure or length of identifiers generated by the API.
Change error messages.
Backwards incompatible changes
The following changes are considered backwards incompatible. The version string of an API will be incremented if we:
Remove properties from JSON objects.
Change an API's URL structure.
If we deprecate an API or API endpoint that you are using, we will email you to give you at least 90 days' notice.
Rate limits
Each Inokufu API has rate limits that cap the number of requests you can make against an endpoint. If you exceed a rate limit, your request will be throttled, and you will receive a HTTP 429 Too Many Requests
response from the API.
If you need a rate limit that is higher than the default, please consider upgrading to a higher paid plan or contacting our Inokufu sales team.
URL length limits
The maximum URL length that our APIs accept before returning a HTTP 414 URI too long
response status code is an 8,192 byte limit. Note that some APIs accept POST
requests with the query parameters in the request body as a workaround for this limitation. The documentation for each endpoint indicates which HTTP request methods it accepts.
HTTPS
We recommend that all access to Inokufu APIs is over HTTPS. Requests initiated over HTTP are automatically upgraded to HTTPS.
Pagination
Pagination lets you list many objects from an API by using more than one request.
In the Inokufu API endpoints that support pagination, the optional max
parameter specifies the maximum number of objects to return. The API will try to return the requested number of objects.
Timeout
You may experience timeout during the first calls to our endpoints after a long period of inactivity when using demo or free keys. Don't worry, wait a few minutes and make your call again, everything should work as usual. There is no cold start issue when using a paid key.
Questions? Need Help? Found a bug?
If you've got questions about our API, found a bug or just want to chat with our developers, please feel free to email us at support@inokufu.com.