Juju Logo

Juju's Publisher API



Include the following HTML near the search results to give attribution to Juju.
<span><a href="http://www.juju.com/">jobs</a> by <a
href="http://www.juju.com/" title="Job Search"><img width="85"
src="http://d5k1a84rm5hwo.cloudfront.net/img/juju_logo_publisherspec.png" style="border: 0;
vertical-align: middle;" alt="Juju.com"></a></span>

The image can be resized to an acceptable width, between 60 and 120 pixels.

Javascript inclusion

Include the following in the <head> section of your web page.
<script type="text/javascript" src="//d5k1a84rm5hwo.cloudfront.net/partnerapi.js"></script>
When the XML is retrieved, the Javascript in the onclick XML tag should be placed into the onClick attribute of your <a> tag. For the following XML file:
        <onclick>juju_partner(this, '3364');</onclick>
        <guid ispermalink="false">000000001x6rzq</guid>
You should build:
<a href="http://www.juju.com/job/..." onclick="juju_partner(this, '3364');" > 

Required API Parameters

Your provided Publisher ID will be used on every request, along with including the IP address and User Agent of the end-user requesting the job results. In addition, either a location or a query (or both) are required. Here is an example request: A channel can be used to track performance on different sites or areas of a website, with a &channel= parameter. See the section on

Note that all URL parameters must be URL encoded (example: Chicago%2C+IL). The useragent value is the most important, but as a rule, all should be encoded.

Requests can also be made using the POST method. In that case, be sure your Content-type is declared as application/x-www-form-urlencoded and URL encode your data as usual.

All Request Parameters

partnerid Your assigned Publisher ID. This is given to you when signing up. Required
ipaddress The IP Address of the end-user Required
useragent The User-Agent of the end-user Required
k The query. This is in the same format as a basic search. Try our search or advanced search for possible formats. One Is Required
l The location. This can be a state, county, city, or zip code. Using multiple locations in one query is not supported.
c The category within which to limit results. See below for the possible values. To retrieve from any of several specified categories, specify ','-joined category names.
r The radius, in miles, around the search location. The default is 20 and the maximum is 100. Optional
order The order in which to return results. Choices are: relevance, date, distance. The default is relevance. Optional
days The number of days back to search. Default is 90. Optional
jpp The number of jobs per page to return with each request. The maximum is 20, which is also the default. Optional
page The page of results to return. Page numbers start at 1, the default. Optional
channel The channel name used to track performance for multiple sites. See the section on channels. Optional
highlight By default, results will be highlighted with HTML bolding. Set this flag to 0 to turn highlighting off. Optional
startindex If you are using API results as backfill on one page of results, use this flag to 'skip' jobs from the top of further API results, because you've already shown them in backfill. The minimum (and default) is 1, which indicates that results should start on the first job. Simple paging should be implemented with the page and jpp parameters. If you are unsure, you probably want to use page and jpp. Optional
session This parameter should be uniquely associated with a particular user. It can be an anonymized persistent or session cookie for web requests, or an anonymized contact id for email. Juju currently uses this internally for testing new algorithms. If you cannot or do not wish to provide this parameter, it's fine to omit it. Optional

Channel Usage

A channel must be activated before it is used. This is done by making one API request in the following form: On a successful response, the channel has been activated. There is a 50 channel maximum. Channel names are case-sensitive and may not contain any of the following characters: #/\$!*~'";:|<>&?

If a query is made with a channel that has not been activated, it will still be accepted but any data (clicks, revenue) will accrue to the default channel.

Category Options (c=)


Using The Response

Before using the response data, the HTTP status code should be checked. A 200 OK status means the request returned successfully. Anything else, and an error should be logged and returned to the user. Possible errors are 400 Bad Request (invalid ID, for example), or 503 Service Unavailable (in times of high load).

Here is a full response containing a single job. Responses will only pull from the first 1000 job postings of a result set. A query asking for deeper results (with either the page or startindex parameters) will be redirected with a 302 Redirect.

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">


    <title>Juju - Search Results</title>

        Juju - Search thousands of job sites at once for local jobs in your field.





            SEC &lt;Financial&gt; Reporting Manager



        <company>High Tech Consumer Products Co.</company>
        <onclick>juju_partner(this, '3364');</onclick>
        <guid ispermalink="false">000000001x6rzq</guid>

            Manager of (SEC)  &lt;B&gt;Financial&lt;/B&gt;  Reporting Job Function: SEC
            &lt;B&gt;financial&lt;/B&gt;  reporting including responsibility for 10-s,
            10-s, 8-s and all other  &lt;B&gt;financial&lt;/B&gt;  SEC...