SEEK - Australia's no. 1 jobs, employment, career and recruitment site

Optimised Apply on SEEK
WalkthroughThe Application Export API provides access to retrieve Job Applications and attachments such as the resume, cover letter, selection criteria and the questions and answers for the SEEK screen questionnaire. There is a walkthrough for each of the methods within the API and they contain detailed steps and sample code. They are designed to get you up and running quickly.
How to request authorization, authenticate and access the APIThis walkthrough explains how to use OAuth 2.0 v1 with the Optimised Apply on SEEK API. Using the examples you can test and review the HTTP requests made from the page using Fiddler, for example.Requesting the authorization grantRequesting the authorization grant involves constructing the auth URI with the correct values and integrating the query string either from the response ‘Location’ header, or, if following, in the code within the redirected page.Constructing the auth URIYou can construct an example auth request URI using the fields below, and test this against SEEK’s test API above (please note the redirect_uri provided below is a sample and should be replaced with your own redirect URI.)Example Request
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
const baseApiUrl = 'http://test.api.seek.com.au/v1';

function getScope(client_id, advertiser_identity, isThirdParty) {
  let scope = `urn:seek:advertiser:identity:${advertiser_identity}`;

  // if we are a third party (ATS or ad loader)
  // we need specify in the scope
  if (isThirdParty) {
    scope = `urn:seek:thirdparty:username:${client_id},${scope}`;
  }

  return scope;
}

function getAuthLink() {
  const scope = getScope(
    getClientID(),
    getAdvertiserIdentity(),
    isThirdParty(),
  );

  // construct and return link, encoding both
  // the redirect_uri and scope
  return (
    `${baseApiUrl}/OAuth/auth?` +
    'response_type=code' +
    `&client_id=${getClientID()}` +
    `&redirect_uri=${urlEncode(getRedirectUrl())}` +
    `&scope=${urlEncode(scope)}`
  );
}
Requesting the access tokenRequesting the access token involves a typical form url encoded POST with previously retrieved authorization grant and authentication using Basic Authentication. For further details please review the token documentation.Using the authorization grant
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
function postTokenRequest(userName, password, data) {
  const method = 'POST';

  const headers = {
    // base64 encoding of the user name and password
    // as required by basic authentication
    Authorization: `Basic ${Base64.encode(
      `${userName}:${password}`,
    )}`,
  };

  const url = 'http://test.api.seek.com.au/v1/OAuth/token';

  makeHttpRequest(method, headers, url, data);
}

function extractToken(response) {
  // return the access_token minus the first four characters
  return response.access_token.substr(4);
}
How to retrieve Job Applications for a Job AdThis walkthrough explains how to securely download job applications for a job ad.IntroductionThe API method GET Job Applications returns all the available job applications made by Jobseekers for a given advertiser. The response also includes URIs for downloading attachments such as GET Resume, GET Cover Letter, GET Selection Criteria and GET Screen for each job application. You can also request the primary jobseeking information to be included. See the Primary jobseeking information Walkthrough for more information.Step 1 - Get Access TokenTo access the API method GET Job Applications, you need to authenticate using OAuth 2.0 and obtain an Access Token. Please refer to the OAuth 2.0 Walkthrough for more details on how to request authorization, authenticate and access the API.Step 2 - Construct URIOnce you have obtained an Access Token, the second step is to construct a URI to download job applications. Please refer to the GET Job Applications documentation for details such as available method parameters and how to control the response format (XML or JSON). For this walkthrough we will be using the following URI:
https://api.seek.com.au/v1/advertiser/applications
Step 3 - Example CodeFollowing is the sample code in C#.Net for calling the API method GET Job Applications
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
using System;http://seek-application-export-api
using System.Net;
using System.IO;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      const string httpMethod = "GET";
      // if you need the response in XML, this should be "application/xml"
      const string accept = "application/json";
      const string accessToken = "insert your access token here";
      const string uri = "https://api.seek.com.au/v1/advertiser/applications";

      HttpWebRequest request = (HttpWebRequest) WebRequest.Create(uri);
      request.Method = httpMethod;
      request.Headers.Add(HttpRequestHeader.Authorization, accessToken);
      request.Accept = accept;

      try
      {
        WebResponse response = request.GetResponse();
        DisplayHeaders(response);
        DisplayContent(response);
      }
      catch (WebException e)
      {
        Console.WriteLine(e.Message);
      }
    }

    private static void DisplayContent(WebResponse response)
    {
      Console.WriteLine("Displaying content...");
      Console.WriteLine();

      using (Stream contentStream = response.GetResponseStream())
      {
        if (contentStream == null) return;

        using (StreamReader streamReader = new StreamReader(contentStream))
        {
          string line = string.Empty;

          while (line != null)
          {
            line = streamReader.ReadLine();
            if (line != null)
              Console.WriteLine(line);
          }
        }
      }
    }

    private static void DisplayHeaders(WebResponse response)
    {
      Console.WriteLine("Displaying headers...");
      Console.WriteLine();

      foreach (string val in response.Headers.Keys)
      {
        Console.WriteLine(
          string.Format("{0}: {1}", val, response.Headers.Get(val))
        );
      }

      Console.WriteLine();
    }
  }
}
How to Retrieve Resumes from a Job ApplicationThis walkthrough explains how to securely download the resume attachment from a job application.IntroductionThe API method GET Resume returns the resume for a given job application.Step 1 – Get Access TokenYou need to authenticate using OAuth 2.0 and obtain an Access Token. Please refer to the OAuth 2.0 Walkthrough for more details on how to request authorization, authenticate and access the API.Step 2 – Get Job Application IDYou need to know the Job Application ID of the resume you want to download. This can be obtained by calling the API method GET Job Applications. Please refer to the How to retrieve job applications for a SEEK Native job ad Walkthrough for code samples.Step 3 – Construct URIOnce you have obtained an Access Token and the Job Application ID of the resume you want to download, the next step is to construct a URI to download the resume attachment from a job application. Please refer to GET Resume documentation for more details about constructing the URI. For this walkthrough we will be using the following URI:
https://api.seek.com.au/v1/advertiser/applications/resume/{jobApplicationId}
Step 4 – Sample CodeFollowing is the sample code in C#.Net for calling the API method GET Resume.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System;
using System.Net;
using System.IO;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      const string httpMethod = "GET";
      const string accessToken = "insert your access token here";
      const int jobApplicationId = 95951997; //insert you job application id here
      string uri = string.Format("http://api.seek.com.au/v1/advertiser/applications/resume/{0}", jobApplicationId);

      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
      request.Method = httpMethod;
      request.Headers.Add(HttpRequestHeader.Authorization, accessToken);

      try
      {
        WebResponse response = request.GetResponse();
        DisplayHeaders(response);
        DisplayResume(response);
      }
      catch (WebException e)
      {
        Console.WriteLine(e.Message);
      }
    }

    private static void DisplayHeaders(WebResponse response)
    {
      Console.WriteLine("Displaying headers...");
      Console.WriteLine();

      foreach (string val in response.Headers.Keys)
      {
        Console.WriteLine(string.Format("{0}: {1}", val, response.Headers.Get(val)));
      }

      Console.WriteLine();
    }

    private static void DisplayResume(WebResponse response)
    {
      Console.WriteLine("Displaying content...");
      Console.WriteLine();

      using (Stream contentStream = response.GetResponseStream())
      {
        if (contentStream == null) return;

        using (StreamReader streamReader = new StreamReader(contentStream))
        {
          string line = string.Empty;

          while (line != null)
          {
            line = streamReader.ReadLine();
            if (line != null)
              Console.WriteLine(line);
          }
        }
      }
    }
  }
}
How to retrieve a Cover Letter for a Job ApplicationThis walkthrough explains how to securely download the cover letter attachment from a job applicationIntroductionThe API method GET Resume returns the resume for a given job application.Step 1 – Get Access TokenTo access the API method GET Cover Letter, you need to authenticate using OAuth 2.0 and obtain an Access Token. Please refer to the OAuth 2.0 Walkthrough for more details on how to request authorization, authenticate and access the API.Step 2 – Get Job Application IDYou need to know the Job Application ID of the cover letter you want to download. This is obtained by calling the API method GET Job Applications. Please refer to the How to retrieve job applications for a SEEK Native job ad Walkthrough for code samples.Step 3 – Construct URIOnce you have obtained an Access Token and the Job Application ID of the cover letter you want to download, you need to construct a URI to download the cover letter attachment from the job application. Please refer to the GET Cover Letter documentation for more details about how to construct the URI. For this walkthrough we will be using the following URI:
https://api.seek.com.au/v1/advertiser/applications/coverletter/{jobApplicationId}
Step 4 – Sample CodeFollowing is the sample code in C#.Net for calling the API method GET Cover Letter.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System;
using System.Net;
using System.IO;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      const string httpMethod = "GET";
      const string accessToken = "insert your access token here";
      const int jobApplicationId = 95951997; //insert you job application id here
      string uri = string.Format("https://api.seek.com.au/v1/advertiser/applications/coverletter/{0}", jobApplicationId);

      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
      request.Method = httpMethod;
      request.Headers.Add(HttpRequestHeader.Authorization, accessToken);

      try
      {
        WebResponse response = request.GetResponse();
        DisplayHeaders(response);
        DisplayCoverLetter(response);
      }
      catch (WebException e)
      {
        Console.WriteLine(e.Message);
      }
    }

    private static void DisplayHeaders(WebResponse response)
    {
      Console.WriteLine("Displaying headers...");
      Console.WriteLine();

      foreach (string val in response.Headers.Keys)
      {
        Console.WriteLine(string.Format("{0}: {1}", val, response.Headers.Get(val)));
      }

      Console.WriteLine();
    }

    private static void DisplayCoverLetter(WebResponse response)
    {
      Console.WriteLine("Displaying content...");
      Console.WriteLine();

      using (Stream contentStream = response.GetResponseStream())
      {
        if (contentStream == null) return;

        using (StreamReader streamReader = new StreamReader(contentStream))
        {
          string line = string.Empty;

          while (line != null)
          {
            line = streamReader.ReadLine();
            if (line != null)
              Console.WriteLine(line);
          }
        }
      }
    }
  }
}
How to retrieve Selection Criteria for a Job ApplicationThis walkthrough explains how to securely download the selection criteria attachment from a job application.IntroductionThe API method GET Selection Criteria returns the selection criteria for a given job application.Step 1 – Get Access TokenYou need to authenticate using OAuth 2.0 and obtain an Access Token. Please refer to the OAuth 2.0 Walkthrough for more details on how to request authorization, authenticate and access the API.Step 2 – Get Job Application IDYou need to know the Job Application ID of the selection criteria you want to download. This can be obtained by calling the API method GET Job Applications. Please refer to the How to retrieve job applications for a SEEK Native job ad Walkthrough for code samples.Step 3 – Construct URIOnce you have obtained an Access Token and the Job Application ID of the selection criteria you want to download, you need to construct a URI to download the selection criteria attachment for a job application. Please refer to the GET Selection Criteria documentation for more details about how to construct the URI. For this walkthrough we will be using the following URI:
https://api.seek.com.au/v1/advertiser/applications/selectioncriteria/{jobApplicationId}
Step 4 – Sample CodeFollowing is the sample code in C#.Net for calling the API method GET Selection Criteria.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
using System;
using System.Net;
using System.IO;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      const string httpMethod = "GET";
      const string accessToken = "insert your access token here";
      const int jobApplicationId = 95952802; //insert you job application id here
      string uri = string.Format("http://api.seek.com.au.dev/v1/advertiser/applications/selectioncriteria/{0}", jobApplicationId);

      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
      request.Method = httpMethod;
      request.Headers.Add(HttpRequestHeader.Authorization, accessToken);

      try
      {
        WebResponse response = request.GetResponse();
        DisplayHeaders(response);
        DisplaySelectionCriteria(response);
      }
      catch (WebException e)
      {
        Console.WriteLine(e.Message);
      }
    }

    private static void DisplayHeaders(WebResponse response)
    {
      Console.WriteLine("Displaying headers...");
      Console.WriteLine();

      foreach (string val in response.Headers.Keys)
      {
        Console.WriteLine(string.Format("{0}: {1}", val, response.Headers.Get(val)));
      }

      Console.WriteLine();
    }

    private static void DisplaySelectionCriteria(WebResponse response)
    {
      Console.WriteLine("Displaying content...");
      Console.WriteLine();

      using (Stream contentStream = response.GetResponseStream())
      {
        if (contentStream == null) return;

        using (StreamReader streamReader = new StreamReader(contentStream))
        {
          string line = string.Empty;

          while (line != null)
          {
            line = streamReader.ReadLine();
            if (line != null)
              Console.WriteLine(line);
          }
        }
      }
    }
  }
}
How to retrieve Screen for a Job ApplicationThis walkthrough explains how to securely download the screen attachment from a job application.IntroductionThe API method GET Screen returns the screen attachment for a given job application.Step 1 – Get Access TokenTo access the API method GET Screen, you need to authenticate using OAuth 2.0 and obtain an Access Token. Please refer to the OAuth 2.0 Walkthrough for more details on how to request authorization, authenticate and access the API.Step 2 – Get Job Application IDYou need to know the Job Application ID of the screen attachment you want to download. This can be obtained by calling the API method GET Job Applications. Please refer to the How to retrieve job applications for a SEEK Native job ad Walkthrough for code samples.Step 3 – Construct URIOnce you have obtained an Access Token and the Job Application ID of the screen attachment you want to download, the next step is to construct a URI to download the screen attachment for a job application. Please refer to the GET Screen documentation for more details about how to construct the URI. For this walkthrough we will be using the following URI:
https://api.seek.com.au/v1/advertiser/applications/screen/{jobApplicationId}
Step 4 – Sample CodeFollowing is the sample code in C#.Net for calling the API method GET Screen.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
using System;
using System.Net;
using System.IO;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      const string httpMethod = "GET";
      const string accept = "application/json"; // if you need the response in XML, this should be "application/xml"
      const string accessToken = "insert your access token here";
      const int jobApplicationId = 95952802; //insert you job application id here
      string uri = string.Format("https://api.seek.com.au/v1/advertiser/applications/screen/{0}", jobApplicationId);

      HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);
      request.Method = httpMethod;
      request.Headers.Add(HttpRequestHeader.Authorization, accessToken);
      request.Accept = accept;

      try
      {
        WebResponse response = request.GetResponse();
        DisplayHeaders(response);
        DisplayScreen(response);
      }
      catch (WebException e)
      {
        Console.WriteLine(e.Message);
      }
    }

    private static void DisplayHeaders(WebResponse response)
    {
      Console.WriteLine("Displaying headers...");
      Console.WriteLine();

      foreach (string val in response.Headers.Keys)
      {
        Console.WriteLine(string.Format("{0}: {1}", val, response.Headers.Get(val)));
      }

      Console.WriteLine();
    }

    private static void DisplayScreen(WebResponse response)
    {
      Console.WriteLine("Displaying content...");
      Console.WriteLine();

      using (Stream contentStream = response.GetResponseStream())
      {
        if (contentStream == null) return;

        using (StreamReader streamReader = new StreamReader(contentStream))
        {
          string line = string.Empty;

          while (line != null)
          {
            line = streamReader.ReadLine();
            if (line != null)
              Console.WriteLine(line);
          }
        }
      }
    }
  }
}
How to retrieve Primary Job Seeking Information for a Job ApplicationThis walkthrough explains how to securely download primary jobseeking information for a job application. Primary jobseeking information consists of four pieces of data – the Jobseeker’s current Company; their current Job Title; how long they have been in their current role; and if they are new to the workforce. Please note that entry of this primary data, by the Jobseeker, is optional.IntroductionThe API method GET Job Applications returns all the available job applications made by Jobseekers for a given advertiser. You can request the primary jobseeking information to be included as part of GET Job Applications response by adding the optional parameter ‘include=primaryjobseekinginfo’ to the URI.Step 1 – Get Access TokenTo access the API method GET Job Applications, you need to authenticate using OAuth 2.0 and obtain an Access Token. Please refer to the OAuth 2.0 Walkthrough for more details on how to request authorization, authenticate and access the API.Step 2 – Get Job Application IDYou need to know the Job Application ID of the screen attachment you want to download. This can be obtained by calling the API method GET Job Applications. Please refer to the How to retrieve job applications for a SEEK Native job ad Walkthrough for code samples.Step 3 – Construct URIOnce you have obtained an Access Token, the second step is to construct a URI to download job applications. Please refer to the GET Job Applications documentation for details such as available method parameters and how to control the response format (XML or JSON). For this walkthrough we will be using the following URI:
https://api.seek.com.au/v1/advertiser/applications&include=primaryjobseekinginfo
Step 4 – Sample CodeFollowing is the sample code in C#.Net for calling the API method GET Job Applications with primary job seeking information.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
using System;
using System.Net;
using System.IO;

namespace ConsoleApplication1
{
  class Program
  {
    static void Main(string[] args)
    {
      const string httpMethod = "GET";
      const string accept = "application/json"; // if you need the response in XML, this should be "application/xml"
      const string accessToken = "insert your access token here";
      const string uri = "https://api.seek.com.au/v1/advertiser/applications&include=primaryjobseekinginfo"; // note that "include=primaryjobseekinginfo" has been added to the URI for requesting primary job seeking information

      HttpWebRequest request = (HttpWebRequest) WebRequest.Create(uri);
      request.Method = httpMethod;
      request.Headers.Add(HttpRequestHeader.Authorization, accessToken);
      request.Accept = accept;

      try
      {
        WebResponse response = request.GetResponse();
        DisplayHeaders(response);
        DisplayContent(response);
      }
      catch (WebException e)
      {
        Console.WriteLine(e.Message);
      }
    }

    private static void DisplayContent(WebResponse response)
    {
      Console.WriteLine("Displaying content...");
      Console.WriteLine();

      using (Stream contentStream = response.GetResponseStream())
      {
        if (contentStream == null) return;

        using (StreamReader streamReader = new StreamReader(contentStream))
        {
          string line = string.Empty;

          while (line != null)
          {
            line = streamReader.ReadLine();
            if (line != null)
              Console.WriteLine(line);
          }
        }
      }
    }

    private static void DisplayHeaders(WebResponse response)
    {
      Console.WriteLine("Displaying headers...");
      Console.WriteLine();

      foreach (string val in response.Headers.Keys)
      {
        Console.WriteLine(string.Format("{0}: {1}", val, response.Headers.Get(val)));
      }

      Console.WriteLine();
    }
  }
}