Learning Object API V2 (deprecated)
Inokufu's Learning Object API allow 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 documentation describes the V2 of the Learning Object API. As of January 1st, 2024, this version is being deprecated and we highly recommend to switch to the V3 for significantly higher performance. The documentation of the V3 is available here.
Access & usage
We are currently offering public acces to two of our web services APIs:
Authentication: learn how to access the API and securely authenticate your calls.
👉 Learn more about Authentication
Usage plans: discover our various free and paid plans, depending on your needs and use case.
👉 Learn more about Usage plans
Best efforts strategy: understand how to get the best results from our API, leveraging its strengths while minimizing its limitations.
👉 Learn more about our Best efforts strategy
Endpoints
Main endpoints
We offer two main endpoints:
/search endpoint enables you to search learning object by type (e.g. video, mooc, book, etc).
👉 Learn more about /search endpoint
/search-provider endpoint enables you to search learning object by provider (e.g. youtube, coursera, applebook, etc).
👉 Learn more about /search-provider endpoint
Utility endpoints
We also offer 5 utility endpoints:
/type endpoint returns a list of the types currently supported by the API.
👉 Learn more about /type endpoint
/provider endpoint returns a list of the major providers currently supported by the API.
👉 Learn more about /provider endpoint
/lang endpoint returns a list of the languages currently supported by the API.
👉 Learn more about /lang 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
/feedback endpoint enables you to send us feedback about specific learning objects.
👉 Learn more about /feedback 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.inokufu.com/learningobject/v2
. This base path goes before the endpoint path. Note that if you use RapidAPI to connect to our APIs, you should use the base URL provided by RapidAPI, such ashttps://learning-objects-v2.p.rapidapi.com
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 v2, you must add
/search
to the base path:https://api.inokufu.com/learningobject/v2/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.