Introduction

The Great Place to Work REST API enables second and third party applications to access and manage Lists, Yearly lists, List categories and Affiliates.

API Authorisation

Each request to the Great Place to Work REST API must include a valid username and password as GET parameters.

Endpoints

The available endpoints are:

  • Lists
  • List
  • Yearly list
  • List categories
  • Affiliates

Lists

Retrieve all the available lists.

Endpoint

GET  /api/lists

Request Format

You must set an Accept: application/json header on all requests.

Example:

http://localhost/api/lists/?username=test&password=test

Response Format

The data of this response are an array containing all the available lists residing in the database. Each list item is in the format of an StdObject in order to be interpreted and handled correctly by Joomla.

{
"success": true,
"message": null,
"messages": null,
"data":
  [
      {
          "id": "3",
          "name_eng": "List_3",
          "description_eng": "Description of List_3",
          "category_id": "1",
          "owned_by_affiliate_id": "3",
          "ordering": "3",
          "state": "1",
          "category": "Category_1",
          "yearly_list_publication_date": {
              "date": "2018-05-02 00:00:00.000000",
              "timezone_type": 2,
              "timezone": "GMT"
          },
          "yearly_list_id": "6",
          "yearly_list_banner_image": "https://www.greatplacetowork.com/images/list-headers/2017smb-crop_gptw_homepageALT_1600x606.png",
          "yearly_list_logo_url_eng": "https://www.greatplacetowork.com/images/logos/2018-Best-Workplaces-in-Technology.png",
          "yearly_list_year": "2018"
      },
      {
          "id": "2",
          "name_eng": "List_2",
          "description_eng": "Description of List_2",
          "category_id": "2",
          "owned_by_affiliate_id": "2",
          "ordering": "2",
          "state": "1",
          "category": "Category_2",
          "yearly_list_publication_date": {
              "date": "2018-04-22 00:00:00.000000",
              "timezone_type": 2,
              "timezone": "GMT"
          },
          "yearly_list_id": "2",
          "yearly_list_banner_image": "https://www.greatplacetowork.com/images/list-headers/2017smb-crop_gptw_homepageALT_1600x606.png",
          "yearly_list_logo_url_eng": "https://www.greatplacetowork.com/images/logos/2018-Best-Workplaces-in-Technology.png",
          "yearly_list_year": "2018"
      },
      {
          "id": "1",
          "name_eng": "List_1",
          "description_eng": "Description of List_1",
          "category_id": "1",
          "owned_by_affiliate_id": "1",
          "ordering": "1",
          "state": "1",
          "category": "Category_1",
          "yearly_list_publication_date": {
              "date": "2018-04-21 00:00:00.000000",
              "timezone_type": 2,
              "timezone": "GMT"
          },
          "yearly_list_id": "1",
          "yearly_list_banner_image": "https://s3.amazonaws.com/media.greatplacetowork.com/images/BLANK_Homepage_Retail_List_3.2gptw_homepage_1600x606.jpg",
          "yearly_list_logo_url_eng": "https://www.greatplacetowork.com/images/logos/2018-Best-Workplaces-in-Technology.png",
          "yearly_list_year": "2018"
      }
    ]
  }

List

Retrieve a list based on the id.

Endpoint

GET  /api/lists/list_id

Request Format

You must set an Accept: application/json header on all requests.

Example:

http://localhost/api/lists/1/?username=test&password=test

Response Format

The data of this response are an array containing:

  • The requested list and
  • The most recent yearly list that belongs in the requested list.

Both the list and yearly list items are in the format of StdObject in order to be interpreted and handled correctly by Joomla.

{
"success": true,
"message": null,
"messages": null,
"data":
  [
      {
          "id": "1",
          "name_eng": "List_1",
          "description_eng": "Description of List_1",
          "category_id": "1",
          "owned_by_affiliate_id": "1",
          "ordering": "1",
          "state": "1",
          "category_name": "Category_1"
      },
      {
          "id": "1",
          "list_id": "1",
          "year": "2018",
          "name_eng": "List_1_2018",
          "description_long_eng": "Description of List_1_2018",
          "logo_url_eng": "https://www.greatplacetowork.com/images/logos/2018-Best-Workplaces-in-Technology.png",
          "publish_date": "2018-04-21 00:00:00",
          "state": "1",
          "banner_image": "https://s3.amazonaws.com/media.greatplacetowork.com/images/BLANK_Homepage_Retail_List_3.2gptw_homepage_1600x606.jpg",
          "certified_by": "2018-04-21 00:00:00",
          "methodology_html": "html",
          "list_name": "List_1",
          "labeled_id": "1",
          "company_logo": "https://s3.amazonaws.com/culturesurvey.greatplacetowork.com/public/prd_logos_v11/L-QuickenLoans-RGB-20161123_calogo4090.jpg,https://s3.amazonaws.com/culturesurvey.greatplacetowork.com/public/prd_logos_v11/somclogo_calogo3701.jpg",
          "logos": [],
          "company_logos": [
              "https://s3.amazonaws.com/culturesurvey.greatplacetowork.com/public/prd_logos_v11/L-QuickenLoans-RGB-20161123_calogo4090.jpg",
              "https://s3.amazonaws.com/culturesurvey.greatplacetowork.com/public/prd_logos_v11/somclogo_calogo3701.jpg"
          ]
      }
    ]
 }

Yearly list

Retrieve a yearly list based on the id of the list it belongs and the year.

Endpoint

GET  /api/lists/list_id/year

Request Format

You must set an Accept: application/json header on all requests.

Example:

http://localhost/api/lists/1/2018/?username=test&password=test

Response Format

The data of this response are an array containing:

  • The requested yearly list,
  • An array of the companies that participated in the requested yearly list,
  • An array of all the yearly lists related to the parent list of the requested yearly list,
  • The labels that the requested yearly list belongs to, and
  • An array of the most recent yearly lists.

All the list, yearly list and company items are in the format of StdObject in order to be interpreted and handled correctly by Joomla.

{
"success": true,
"message": null,
"messages": null,
"data":
  [
      {
          "id": "1",
          "list_id": "1",
          "year": "2018",
          "name_eng": "List_1_2018",
          "description_long_eng": "Description of List_1_2018",
          "logo_url_eng": "https://www.greatplacetowork.com/images/logos/2018-Best-Workplaces-in-Technology.png",
          "publish_date": "2018-04-21 00:00:00",
          "state": "1",
          "banner_image": "https://s3.amazonaws.com/media.greatplacetowork.com/images/BLANK_Homepage_Retail_List_3.2gptw_homepage_1600x606.jpg",
          "certified_by": "2018-04-21 00:00:00",
          "methodology_html": "html",
          "list_name": "List_1"
      },
      [
          {
              "label": "Label_1",
              "id": "1",
              "parent_company_id": null,
              "salesforce_id": "100",
              "cached_name_eng": "Company_1",
              "industry_id": "18",
              "location": "Thessaloniki, Greece",
              "banner_image": "https://s3.amazonaws.com/culturesurvey.greatplacetowork.com/public/prd_photos_v11/RockConnections-20140408-1581_caphoto23773.jpg",
              "logo_url_eng": "https://s3.amazonaws.com/culturesurvey.greatplacetowork.com/public/prd_logos_v11/L-QuickenLoans-RGB-20161123_calogo4090.jpg",
              "company_url": "http://reviews.greatplacetowork.com/quicken-loans",
              "labeled_yearly_list_id": "1",
              "company_id": "1",
              "company_quote_eng": "Quote for Company_1",
              "rank": "1",
              "industry_name": "Financial Services & Insurance"
          },
          {
              "label": "Label_1",
              "id": "2",
              "parent_company_id": null,
              "salesforce_id": "200",
              "cached_name_eng": "Company_2",
              "industry_id": "21",
              "location": "Athens, Greece",
              "banner_image": "https://s3.amazonaws.com/culturesurvey.greatplacetowork.com/public/prd_photos_v11/Registration_caphoto21366.jpg",
              "logo_url_eng": "https://s3.amazonaws.com/culturesurvey.greatplacetowork.com/public/prd_logos_v11/somclogo_calogo3701.jpg",
              "company_url": "http://reviews.greatplacetowork.com/southern-ohio-medical",
              "labeled_yearly_list_id": "1",
              "company_id": "2",
              "company_quote_eng": "Quote for Company_2",
              "rank": "2",
              "industry_name": "Health Care"
          }
      ],
      [
          {
              "id": "5",
              "list_id": "1",
              "year": "2017",
              "name_eng": "List_1_2017",
              "description_long_eng": "Description of List_1_2017",
              "logo_url_eng": "https://s3.amazonaws.com/media.greatplacetowork.com/images/2017-technology_color.png",
              "publish_date": "2018-05-07 00:00:00",
              "state": "1",
              "banner_image": "https://s3.amazonaws.com/media.greatplacetowork.com/images/Technology_crophomepage_1600x606_10.jpg",
              "certified_by": "2018-05-08 00:00:00",
              "methodology_html": "html",
              "is_active": "0"
          },
          {
              "id": "1",
              "list_id": "1",
              "year": "2018",
              "name_eng": "List_1_2018",
              "description_long_eng": "Description of List_1_2018",
              "logo_url_eng": "https://www.greatplacetowork.com/images/logos/2018-Best-Workplaces-in-Technology.png",
              "publish_date": "2018-04-21 00:00:00",
              "state": "1",
              "banner_image": "https://s3.amazonaws.com/media.greatplacetowork.com/images/BLANK_Homepage_Retail_List_3.2gptw_homepage_1600x606.jpg",
              "certified_by": "2018-04-21 00:00:00",
              "methodology_html": "html",
              "is_active": "1"
          }
      ],
      [
          "Label_1"
      ],
      [
          {
              "list_name": "List_1",
              "id": "5",
              "list_id": "1",
              "year": "2017",
              "name_eng": "List_1_2017",
              "description_long_eng": "Description of List_1_2017",
              "logo_url_eng": "https://s3.amazonaws.com/media.greatplacetowork.com/images/2017-technology_color.png",
              "publish_date": "2018-05-07 00:00:00",
              "state": "1",
              "banner_image": "https://s3.amazonaws.com/media.greatplacetowork.com/images/Technology_crophomepage_1600x606_10.jpg",
              "certified_by": "2018-05-08 00:00:00",
              "methodology_html": "html"
          },
          {
              "list_name": "List_2",
              "id": "3",
              "list_id": "2",
              "year": "2017",
              "name_eng": "List_2_2017",
              "description_long_eng": "Description of List_2_2017",
              "logo_url_eng": "https://s3.amazonaws.com/media.greatplacetowork.com/images/list_texas_rgb_color.png",
              "publish_date": "2018-05-06 00:00:00",
              "state": "1",
              "banner_image": "https://s3.amazonaws.com/media.greatplacetowork.com/images/Texas-Image.jpg",
              "certified_by": "2018-05-07 00:00:00",
              "methodology_html": "html"
          },
          {
              "list_name": "List_3",
              "id": "6",
              "list_id": "3",
              "year": "2018",
              "name_eng": "List_3_2018",
              "description_long_eng": "Description of List_3_2018",
              "logo_url_eng": "https://www.greatplacetowork.com/images/logos/2018-Best-Workplaces-in-Technology.png",
              "publish_date": "2018-05-02 00:00:00",
              "state": "1",
              "banner_image": "https://www.greatplacetowork.com/images/list-headers/2017smb-crop_gptw_homepageALT_1600x606.png",
              "certified_by": "2018-05-03 00:00:00",
              "methodology_html": "html"
          }
      ]
    ]
  }

List categories

Retrieve all the available list categories.

Endpoint

GET  /api/categories

Request Format

You must set an Accept: application/json header on all requests.

Example:

http://localhost/api/categories/?username=test&password=test

Response Format

The data of this response are an array containing all the available list categories residing in the database. Each list category item is in the format of an StdObject in order to be interpreted and handled correctly by Joomla.

{
"success": true,
"message": null,
"messages": null,
"data":
  [
      {
          "id": "1",
          "name_eng": "Category_1",
          "ordering": "1"
      },
      {
          "id": "2",
          "name_eng": "Category_2",
          "ordering": "2"
      }
  ]
}

Affiliates

Retrieve all the available affiliates.

Endpoint

GET  /api/affiliates

Request Format

You must set an Accept: application/json header on all requests.

Example:

http://localhost/api/affiliates/?username=test&password=test

Response Format

The data of this response are an array containing all the available affiliates residing in the database. Each affiliate item is in the format of an StdObject in order to be interpreted and handled correctly by Joomla.

{
"success": true,
"message": null,
"messages": null,
"data":
  [
      {
          "id": "1",
          "name": "Affiliate_1"
      },
      {
          "id": "2",
          "name": "Affiliate_2"
      },
      {
          "id": "3",
          "name": "Affiliate_3"
      },
      {
          "id": "4",
          "name": "Affiliate_4"
      }
  ]
}