NAME

WebService::Pixabay - Perl 5 interface to Pixabay API.

VERSION

version 2.2.3

SYNOPSIS

use strict;
use warnings;
use feature qw(say);

use WebService::Pixabay;
use Data::Dumper 'Dumper';

my $pix = WebService::Pixabay->new(api_key => 'secret');

# default searches
my $img1 = $pix->image_search;
my $vid1 = $pix->video_search;

# print data structure using Data::Dumper's 'Dumper'
say Dumper($img1);
say Dumper($vid1);

###################################################
# The parameters of the method have the same name #
# and default values as in Pixabay API docs       #
###################################################

# example custom image search and printing
my $cust_img = $pix->image_search(
    q => 'cats dog',
    lang => 'es',
    response_group => 'high_resolution',
    image_type => 'illustration',
    category => 'animals',
    safesearch => 'true',
    order => 'latest',
    page => 2,
    per_page => 5,
    pretty => 'true'
);

say Dumper($cust_img);

# -or with video_search-

# example custom video search and printing
my $cust_vid = $pix->video_search(
    q => 'tree',
    lang => 'en',
    pretty => 'false',
    page => 3,
    order => 'popular'
);

say Dumper($cust_vid);

# Handling specific hashes and arrays of values from the image_search JSON
# example retrieving webformatURL from each arrays
my @urls = undef;

foreach my $url (@{$cust_img->{hits}}) {

    # now has link of photo urls (non-preview photos)
    push(@urls, $url->{webformatURL});
}

say $urls[3]; # image URL in the fourth row

# Getting a specific single hash or array value from video_search JSON
say $cust_vid->{hits}[0]{medium}{url};

Methods

Description: Get image search metadata with default values as shown above.

Parameter: q str A URL encoded search term. If omitted, all images are returned. This value may not exceed 100 characters.Example: "yellow+flower"

Parameter: lang str Language code of the language to be searched in. Accepted values: cs, da, de, en, es, fr, id, it, hu, nl, no, pl, pt, ro, sk, fi, sv, tr, vi, th, bg, ru, el, ja, ko, zh Default: "en"

Parameter: id str ID, hash ID, or a comma separated list of values for retrieving specific images. In a comma separated list, IDs and hash IDs cannot be used together.

Parameter: response_group str Choose between retrieving high resolution images and image details. When selecting details , you can access images up to a dimension of 960 x 720 px. Accepted values: "image_details", "high_resolution" Default: "image_details"

Parameter: image_type str Filter results by image type. Accepted values: "all", "photo", "illustration", "vector" Default: "all"

Parameter: orientation str Whether an image is wider than it is tall, or taller than it is wide. Accepted values: "all", "horizontal", "vertical" Default: "all"

Parameter: category str Filter results by category. Accepted values: fashion, nature, backgrounds, science, education, people, feelings, religion, health, places, animals, industry, food, computer, sports, transportation, travel, buildings, business, music

Parameter: min_width int Minimum image width. Default: "0"

Parameter: min_height int Minimum image height. Default: "0"

Parameter: editors_choice bool Select images that have received an Editor's Choice award. Accepted values: "true", "false" Default: "false"

Parameter: safesearch bool A flag indicating that only images suitable for all ages should be returned. Accepted values: "true", "false" Default: "false"

Parameter: order str How the results should be ordered. Accepted values: "popular", "latest" Default: "popular"

Parameter: page int Returned search results are paginated. Use this parameter to select the page number. Default: 1

Parameter: per_page int Determine the number of results per page. Accepted values: 3 - 200 Default: 20

Parameter: callback string JSONP callback function name

Parameter: pretty bool Indent JSON output. This option should not be used in production. Accepted values: "true", "false" Default: "false"

Returns: Image search metadata.

Description: Get video search metadata with default values as shown above.

Parameter: q str A URL encoded search term. If omitted, all images are returned. This value may not exceed 100 characters. Example: "yellow+flower"

Parameter: lang str Language code of the language to be searched in. Accepted values: cs, da, de, en, es, fr, id, it, hu, nl, no, pl, pt, ro, sk, fi, sv, tr, vi, th, bg, ru, el, ja, ko, zh Default: "en"

Parameter: id str ID, hash ID, or a comma separated list of values for retrieving specific images. In a comma separated list, IDs and hash IDs cannot be used together.

Parameter: video_type str Filter results by video type. Accepted values: "all", "film", "animation" Default: "all"

Parameter: orientation str Whether an image is wider than it is tall, or taller than it is wide. Accepted values: "all", "horizontal", "vertical" Default: "all"

Parameter: category str Filter results by category. Accepted values: fashion, nature, backgrounds, science, education, people, feelings, religion, health, places, animals, industry, food, computer, sports, transportation, travel, buildings, business, music

Parameter: min_width int Minimum image width. Default: "0"

Parameter: min_height int Minimum image height. Default: "0"

Parameter: editors_choice bool Select images that have received an Editor's Choice award. Accepted values: "true", "false" Default: "false"

Parameter: safesearch bool A flag indicating that only images suitable for all ages should be returned. Accepted values: "true", "false" Default: "false"

Parameter: order str How the results should be ordered. Accepted values: "popular", "latest" Default: "popular"

Parameter: page int Returned search results are paginated. Use this parameter to select the page number. Default: 1

Parameter: per_page int Determine the number of results per page. Accepted values: 3 - 200 Default: 20

Parameter: callback string JSONP callback function name

Parameter: pretty bool Indent JSON output. This option should not be used in production. Accepted values: "true", "false" Default: "false"

Returns: Video search metadata.

SEE ALSO

Pixabay API documentation

Moo

Function::Parameters

Test::More

WebService::Client

LWP::Online

AUTHOR

faraco <skelic3@gmail.com>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2017-2018 by faraco.

This is free software, licensed under:

The MIT (X11) License