WordPress / openverse

Openverse is a search engine for openly-licensed media. This monorepo includes all application code.
https://openverse.org
MIT License
254 stars 202 forks source link

The Noun Project #1769

Open obulat opened 3 years ago

obulat commented 3 years ago

This issue has been migrated from the CC Search Catalog repository

Author: dravadhis
Date: Fri Oct 23 2020
Labels: providers,🙅 status: discontinued

Provider API Endpoint / Documentation

http://api.thenounproject.com/

Provider description

The Noun Project API provides a collection of icons and photos.

Licenses Provided

CC BY 3.0 Public Domain Mark 1.0

Provider API Technical info

Rate Limits: 5000 requests/month Overall volume: 3 million (Rough Indication)

Checklist to complete before beginning development

No development should be done on a Provider API Script until the following info is gathered:

General Recommendations for implementation

Examples of other Provider API Scripts

For example Provider API Scripts and accompanying test suites, please see


Original Comments:

Issue author dravadhis commented on Fri Oct 23 2020:

@mathemancer As mentioned in WordPress/openverse#1560 I will begin work on this. Thank You! source

Issue author dravadhis commented on Wed Oct 28 2020:

@mathemancer I am working on issue on issue WordPress/openverse#1559. The API requires OAuth 1.0 authorisation via an api_key and consumer_secret. To send an authorised request I need to use a library called requests-oauthlib (See here for reference). Should I add this library in the requirements file? Or is there any other way to go about this? source

mathemancer commented on Thu Oct 29 2020:

@dravadhis I think that should be fine. Just add it to both requirements files (make sure to freeze the version in prod requirements, but not dev). source

stacimc commented 1 year ago

The Noun Project API requires a search query and does not allow using wildcards (*) to paginate through all results. While that's the case, I'm not sure it'll be possible to add them as a provider in Openverse.

Another note from the API documentation:

Asset URLs are temporary and will expire within an hour after the call. Following that duration, a new call will be required to retrieve a new asset URL.

It looks like this refers to generated thumbnail urls, so we would not be able to use those. A sample icon within the API response looks like this:

{
      "attribution": "Cat by Raúl Inc from Noun Project",
      "collections": [],
      "creator": {
        "name": "Raúl Inc",
        "permalink": "/rlinze",
        "username": "rlinze"
      },
      "id": "49952",
      "license_description": "public-domain",
      "permalink": "/term/cat/49952",
      "tags": [
        "cat",
        "animal",
        "domesticated",
        "feline",
        "kitten",
        "kitty",
        "kitty-cat",
        "mammal",
        "pet"
      ],
      "term": "Cat",
      "thumbnail_url": "https://static.thenounproject.com/png/49952-200.png",
      "updated_at": "2019-04-22 19:22:17"
    },

https://thenounproject.com/term/cat/49952/ redirects to https://thenounproject.com/icon/cat-49952/