Dice Jobs API

api.dice.com/jobs

 

1. Authentication

The Dice Jobs API requires an OAuth token.

Requesting a token:

1: Set the request “Application type” = “x-www-form-urlencoded”

2: Post the grant_type parameter in the body of the request.

Key = “grant_type” Value = “client_credentials”

3: Set the HTTP Basic Authorization header with the provided credentials. HTTP basic Authorization requires base64 encoding the credentials and posting them as a header titled “Authorization”.

Request

Method

URL            

POST

https://secure.dice.com/oauth/token

Type

Params

Values

HEADER

Authorization

Developer ID and Password Base64 Encoded.

        

Authorization

The API will return a 200 status along with the JSON response below. The token type and access token strings will need to be posted as a header titled “Authorization” with a value of “Bearer API_Token_Goes_Here” for all subsequent calls.

Response

Status

Response

200

{

    "access_token": "xxxxxxxx-1c4c-xxxx-bf8c-c9cdec54f86b",            

    "token_type": "bearer",            

    "expires_in": "30576",            

    "scope": "access"            

}

2. Search

Search for Jobs

Request

Method

URL            

GET

https://api.dice.com/jobs?

Required

Type

Params

Values

HEADER

Authorization

Bearer API_Token_Goes_Here

Optional Parameters

Type

Params

Values

Param

Param

q

fields

string

string

Authorization

The  Authorization  key that was provided from dice.

q

The string provided will be used to search for jobs that match based on Job Title, Description or Company name. Leaving this param blank or not sending it will return a list of jobs based on API defaults (National Job feed sorted by date posted).

fields

This parameter will let you limit the detail level of job objects returned in the searchResults array. The values are comma separated names of keys in the job object.

Example: https://api.dice.com/jobs?fields=id,company,position&q=ruby

Example:

https://api.dice.com/jobs?fields=id,company,position&q=ruby

Response

Status

Response

200

Response will be an object containing a list of jobs (searchResults). Each item in the Jobs array has the following structure based on the fields in the request.

{

    "page": 1,

    "count": "10",

    "queryTimeMilSec": 284,

    "total": 284,

    "pageCount": 55,

    "searchResults": [

        {

          “href": "/jobs/b912258f4891d5be053622dffcb7cbbd",

            "id": "b912258f4891d5be053622dffcb7cbbd",

            "webUrl": "http://www.dice.com/job/result/10115700a/341669",

            "company": {

                "href": "/companies/10115700a",

                "id": "10115700a",

                "name": "Randstad Technologies"

            },

            "position": {

                "id": "341669",

                "title": "Ruby Developer",

                "location": {

                    "country": "US",

                    "city": "Rtp",

                    "region": "NC",

                    "postalCode": "27709"

                }

            }

        },

 

3. Job by ID

Get full Job Object

Request

Method

URL            

GET

https://api.dice.com/jobs/Job_ID_Goes_Here

Required

Type

Params

Values

HEADER

Authorization

Bearer API_Token_Goes_Here

Example:

https://api.dice.com/jobs/b912258f4891d5be053622dffcb7cbbd

Response

Status

Response

200

Response will be an job object

{

    "href": "http://api.dice.com/jobs/b912258f4891d5be053622dffcb7cbbd",

    "id": "b912258f4891d5be053622dffcb7cbbd",

    "status": "Active",

    "notes": "",

    "payrate": "",

    "areaCodeText": "919",

    "jobLength": "",

    "description": "HTML Job Description",

    "webURL": "http://www.dice.com/job/result/10115700a/341669",

    "travelRequiredMiles": -1,

    "skills": [

        "MySQL",

        "Javascript",

        "Rails",

        "HTML",

        "Ruby",

        "Oracle",

        "jQuery"

    ],

    "telecommuteOption": false,

    "freshnessDate": "2014-01-07 02:57:15",

    "postedDate": "2014-01-27 02:57:15",

    "creationDate": "2014-01-07 02:57:14",

    "firstActiveDate": "2014-01-07 02:57:15",

    "apply": {

        "email": "communications@sapphire.com",

        "ccEmail": "",

        "url": null,

        "distribute": "",

    },

    "company": {

        "href": "/companies/10115700a",

        "id": "10115700a",

        "name": "Randstad Technologies",

        "compURL": "http://technologies.randstadusa.com"

    },

    "position": {

        "id": "341669",

        "formattedLocation": "Durham, NC 27703",

        "title": "Ruby Developer",

        "location": {

            "country": "US",

            "city": "Rtp",

            "region": "NC",

            "postalCode": "27709"

        }

    },

    "poster": {

        "addrOne": "",

        "addrTwo": "",

        "country": "",

        "municipality": "Durham",

        "postalCode": "27703",

        "email": "communications@sapphire.com",

    },

    "jobContactPreferences": {

        "fileName": "b912258f4891d5be053622dffcb7cbbd",

        "nameOption": false,

        "addressOneOption": false,

        "addressTwoOption": false,

        "municipalityOption": false,

        "regionOption": false,

        "postalCodeOption": false,

        "emailOption": false,

        "primaryVoiceNumberOption": false,

        "primaryVoiceExtOption": false,

        "secondaryVoiceNumberOption": false,

        "primaryFaxNumberOption": false

    }

}

4. Recommended Jobs

Get a list of recommended jobs

Request

Method

URL            

GET

https://api.dice.com/jobs/b912258f4891d5be053622dffcb7cbbd

Required

Type

Params

Values

HEADER

Authorization

Bearer API_Token_Goes_Here

Optional Parameters

Type

Params

Values

Param

fields

string

fields

This parameter will let you limit the detail level of job objects returned in the recommended items array. The values are comma separated names of keys in the job object (dot notation works for specific child items as per example below).

Example:

https://api.dice.com/jobs/8e43619e436d6c7f6e373495dc63830d/recommendedJobs?fields=recommendationRating,job.id,job.company.name,job.position.location

Response

{

    "totalNumberOfItems": 10,

    "items": [

        {

            "href": "http://api.dice.com/jobs/8e43619e436d6c7f6e373495dc63830d",

            "job": {

                "href": "http://api.dice.com/jobs/8e43619e436d6c7f6e373495dc63830d",

                "id": "8e43619e436d6c7f6e373495dc63830d",

                "skills": [

                    "L3/L2 network design and development"

                ],

                "company": {

                    "id": "10513290"

                }

            },

            "recommendationRating": "0.95449638832517958"

        },

        {

            "href": "http://api.dice.com/jobs/258ad5a462079efb0a36fc8bc3dd55ef",

            "job": {

                "href": "http://api.dice.com/jobs/258ad5a462079efb0a36fc8bc3dd55ef",

                "id": "258ad5a462079efb0a36fc8bc3dd55ef",

                "skills": [

                    "Network Engineer"

                ],

                "company": {

                    "id": "10143403"

                }

            },

            "recommendationRating": "0.95705671858351371"

        },

Glossary

Conventions

Status Codes

2XX - Success of some kind

4XX - Error occurred in client’s part

5XX - Error occurred in server’s part

Status Code

Description

200

OK

201

Created

202

Accepted (Request accepted, and queued for execution)

400

Bad request

401

{

    "message": {

        "status": "401",

        "messages": [

            {

                "code": "401000",

                "properties": "",

                "userMessage": "Unauthorized"

            }

        ]

    }

}

403

Forbidden

404

Resource not found

405

Method Not Allowed

409

Conflict

412

Precondition Failed

413

Request Entity Too Large

500

Internal Server Error

501

Not Implemented

503

Service Unavailable