SitePoint
  • Premium
  • Library
  • Community
  • Save on SaaS
  • Jobs
  • Blog
LoginStart Free Trial
Preface
1

Build a Native Desktop GIF Search App Using NodeGui

Fetching GIFs from the GIPHY API

Giphy.com has a public API which anyone can use to build great apps that use animated GIFs. In order to use the GIPHY API, you should register at developers.giphy.com and obtain an API key. You can find further instructions here.

We’ll be using the search endpoint feature for implementing our meme search.

Let’s start by writing a searchGifs function that will take a searchTerms parameter as input and request GIFs using the above endpoint:

Code snippet

const GIPHY_API_KEY = 'Your API key here';
async function searchGifs(searchTerm) {  const url = 'https://api.giphy.com/v1/gifs/search';  const res = await axios.get(url, {    params: {      api_key: GIPHY_API_KEY,      limit: 25,      q: searchTerm,      lang: 'en',      offset: 0,      rating: 'pg-13'    }  });  return res.data.data;}

The result of the function after execution will look something like this:

Code snippet

[  {    "type": "gif",    "id": "dzaUX7CAG0Ihi",    "url": "https://giphy.com/gifs/hello-hi-dzaUX7CAG0Ihi",    "images": {      "fixed_width_small": {        "height": "54",        "size": "53544",        "url": "https://media3.giphy.com/media/dzaUX7CAG0Ihi/100w.gif?cid=725ec7e0c00032f700929ce9f09f3f5fe5356af8c874ab12&rid=100w.gif",        "width": "100"      },      "downsized_large": {        "height": "220",        "size": "807719",        "url": "https://media3.giphy.com/media/dzaUX7CAG0Ihi/giphy.gif?cid=725ec7e0c00032f700929ce9f09f3f5fe5356af8c874ab12&rid=giphy.gif",        "width": "410"      },      ...    },    "slug": "hello-hi-dzaUX7CAG0Ihi",    ...    "import_datetime": "2016-01-07 15:40:35",    "trending_datetime": "1970-01-01 00:00:00"  },  {    type: "gif",    ...  },  ...]

The result is essentially an array of objects that contain information about each GIF. We’re particularly interested in returnValue[i].images.fixed_width_small.url for each image, which contains the URL to the GIF.

Showing a List of GIFs Using the API’s Response

End of PreviewSign Up to unlock the rest of this title.
On this page

Community Questions

Previous
Finish