Author image Michael Aquilina

NAME

WWW::Indeed - Perl interface to the Indeed.com web service

SYNOPSIS

  use WWW::Indeed;

  my $indeed = WWW::Indeed->new(api_key => 'YOUR API KEY HERE');

  my @postings = $indeed->get_postings(
      'Project Manager',
      location => 'New York, NY',
      sort     => 'date',
      limit    => 25,
      days     => 14,
      filter   => 1,
  );

  for my $posting (@postings) {
      print "$posting->{title} at $posting->{company} - $posting->{url}\n";
  }

  print "Used " . $indeed->api_calls_used . " API calls";

DESCRIPTION

This module provides an object-oriented Perl interface to the Indeed.com web service.

METHODS

$self->get_postings('Project Manager', limit => 10)

Given a query, returns job posting that match that query.

Along with the query, takes the following parameters as a hash:

  • limit

    The number of postings that will be returned. Please note that the Indeed API has a built-in limit of 20 postings per request, so requests for more than 20 will result in multiple API calls.

    Defaults to 20.

  • location

    The location where the job postings should be located. Use a postal/ZIP code or a city and state for best results.

  • sort

    What the results should be sorted by - one of 'relevance' or 'date'.

    Defaults to 'date'.

  • offset

    The offset to begin searching from in the results. Chances are, you won't need to use this parameter.

  • days

    The limit (in days) on the age of postings. Must be no greater than 30.

    Defaults to 30.

  • filter

    Whether or not to filter out duplicate postings.

    Defaults to 0.

$self->api_calls_used

Returns the number of API calls used for this particular object.

$self->api_call(param1 => 'foo', param2 => 'bar')

Submits an API call to the Indeed API using the passed paramters, parses the response, and returns it as a Perl data structure. It shouldn't be necessary to use this method directly.

DEPENDENCIES

LWP::UserAgent, XML::Simple

BUGS

In cases where the specified limit is above Indeed's maximum, one API call is used solely to determine the number of records available in the search. This should be optimized.

DISCLAIMER

The author of this module is not affiliated in any way with Indeed.com. Users must follow the Indeed.com API TOS (see http://www.indeed.com) when using this module.

COPYRIGHT AND LICENSE

Copyright (C) 2010 Michael Aquilina. All rights reserved.

This code is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

Michael Aquilina, aquilina@cpan.org