Creative Commons Catalog

Open Data

Exploring the Creative Commons API with JavaScript

The Creative Commons API provides a set of interfaces to search for licensed content across various platforms including Flickr, YouTube, and SoundCloud. In this article, we'll explore how to interact with this API using JavaScript and provide some examples of how you can use it to enhance your application.

Getting started with the API

To make requests to the Creative Commons API, you'll need an API key. You can obtain a key by signing up for an account on the Creative Commons API website. Once you have your API key, you can start making requests to the API endpoints.

Searching for licensed content

To search for licensed content using the Creative Commons API, you can use the https://api.creativecommons.engineering/v1/search endpoint. This endpoint allows you to search across multiple platforms and filter results based on various properties such as content type, license type, and creator.

Here's an example of how you can make a GET request to the search endpoint to get a list of images that are available under the CC0 license:

fetch('https://api.creativecommons.engineering/v1/search', {
  headers: {
    Authorization: 'api_key YOUR_API_KEY',
  },
  method: 'POST',
  body: JSON.stringify({
    q: 'dog',
    provider: 'flickr',
    license_type: 'cc0',
    media_type: 'image',
    page: 1,
    per_page: 10,
  }),
})
  .then((response) => response.json())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

In this example, we're sending a POST request to the search endpoint with the following query parameters:

  • q: The search query for finding images of dogs
  • provider: The platform we want to search for images (in this case, Flickr)
  • license_type: The type of license we want to filter by (in this case, CC0)
  • media_type: The type of content we want to search for (in this case, image)
  • page: The page number of the search results (in this case, page 1)
  • per_page: The number of results to display per page (in this case, 10)

Once we receive the response from the API, we log the result to the console.

Fetching metadata for content

To fetch metadata for specific content, you can use the https://api.creativecommons.engineering/v1/<media_type>/<provider>/<id> endpoint. This endpoint allows you to retrieve metadata for content types such as images, videos, and audio.

Here's an example of how you can make a GET request to the metadata endpoint to get metadata for a specific image on Flickr:

fetch('https://api.creativecommons.engineering/v1/image/flickr/5144530219', {
  headers: {
    Authorization: 'api_key YOUR_API_KEY',
  },
})
  .then((response) => response.json())
  .then((result) => console.log(result))
  .catch((error) => console.error(error));

In this example, we're sending a GET request to the metadata endpoint for a specific image on Flickr with the following query parameters:

  • media_type: The type of content we want to retrieve metadata for (in this case, image)
  • provider: The platform where the content is hosted (in this case, Flickr)
  • id: The unique identifier for the content we want to retrieve metadata for

Once we receive the response from the API, we log the result to the console.

Conclusion

In this article, we explored how to interact with the Creative Commons API using JavaScript. We demonstrated how to search for licensed content and fetch metadata for specific content using the API endpoints. With this knowledge, you can now integrate the Creative Commons API into your own applications to enhance their functionality and provide a valuable resource for licensed content.

Related APIs in Open Data