Find an API

Search public APIs with auth details & Postman guides

← All APIs

Paylocity API

paylocity · Finance

Finance No Auth Free & Open financial

For general questions and support of the API, contact: [email protected] # Overview Paylocity Web Services API is an externally facing RESTful Internet protocol. The Paylocity API uses HTTP verbs and a RESTful endpoint structure. OAuth 2.0 is used as the API Authorization framework. Request and response payloads are formatted as JSON. Paylocity supports v1 and v2 versions of its API endpoints. v1, while supported, won't be enhanced with additional functionality. For direct link to v

Authentication

No authentication requiredFree to use with no key needed.

Sample Requests

GET Get all employees

Get All Employees API will return employee data currently available in Web Pay.

https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/employees?pagesize=1&pagenumber=1&includetotalcount=true

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/employees/?pagesize=1&pagenumber=1&includetotalcount=true"
import requests
params = {
    "pagesize": "1",
    "pagenumber": "1",
    "includetotalcount": "true"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/employees/",
    params=params,
)
print(response.json())
const url = new URL('https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/employees/');
url.searchParams.set('pagesize', '1');
url.searchParams.set('pagenumber', '1');
url.searchParams.set('includetotalcount', 'true');

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
	"net/url"
)

func main() {
	baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/employees/")
	q := baseURL.Query()
	q.Set("pagesize", "1")
	q.Set("pagenumber", "1")
	q.Set("includetotalcount", "true")
	baseURL.RawQuery = q.Encode()
	targetURL := baseURL.String()
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/employees/")
uri.query = URI.encode_www_form({
  "pagesize" => "1",
  "pagenumber" => "1",
  "includetotalcount" => "true"
})

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/employees/?" . http_build_query([
    "pagesize" => "1",
    "pagenumber" => "1",
    "includetotalcount" => "true"
]);
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get Company-Specific Open API Documentation

The company-specific Open API endpoint allows the client to GET an Open API document for the Paylocity API that is customized with company-specific resource schemas. These customized resource schemas define certain properties as enumerations of pre-defined values that correspond to the company's set

https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/openapi

Hover any highlighted part to learn what it does

Headers — extra info sent with the request
Authorization example
curl -X GET "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/openapi" \
  -H "Authorization: example"
import requests
headers = {
    "Authorization": "example"
}
response = requests.get(
    "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/openapi",
    headers=headers,
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/openapi';

const response = await fetch(url, {
  headers: {
    'Authorization': 'example'
  },
}); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	targetURL := "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/openapi"
	req, _ := http.NewRequest("GET", targetURL, nil)
	req.Header.Set("Authorization", "example")

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/openapi")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)
req["Authorization"] = "example"

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/openapi";
$opts = ["http" => [
    "method" => "GET",
    "header" => implode("\r\n", [
        "Authorization: example"
    ]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));
GET Get All Company Codes

Get All Company Codes for the selected company and resource

https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/codes/{codeResource}

Hover any highlighted part to learn what it does

curl -X GET "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/codes/{codeResource}"
import requests
response = requests.get(
    "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/codes/{codeResource}",
)
print(response.json())
const url = 'https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/codes/{codeResource}';

const response = await fetch(url); 
const data = await response.json();
console.log(data);
package main

import (
	"fmt"
	"io"
	"net/http"
)

func main() {
	targetURL := "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/codes/{codeResource}"
	req, _ := http.NewRequest("GET", targetURL, nil)

	client := &http.Client{}
	resp, _ := client.Do(req)
	defer resp.Body.Close()
	body, _ := io.ReadAll(resp.Body)
	fmt.Println(string(body))
}
require "net/http"
require "json"

uri = URI("https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/codes/{codeResource}")

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"

req = Net::HTTP::Get.new(uri)

res = http.request(req)
puts JSON.parse(res.body)
<?php
$url = "https://api.apis.guru/v2/specs/paylocity.com/2/v2/companies/{companyId}/codes/{codeResource}";
$opts = ["http" => [
    "method" => "GET",
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));

Postman Setup Guide

Get Postman ↗
  1. See official documentation for authentication and setup.

What can you build with Paylocity API?

Paylocity API is a Finance API. Developers commonly use finance APIs for:

  • processing payments and handling transactions
  • building subscription and billing systems
  • automating invoicing and financial reporting
  • fraud detection and risk scoring
  • connecting to banking and accounting software

No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Paylocity API is free to use, making it a low-risk choice to experiment with.

New to APIs? Read our beginner's guide · Learn about API keys · What is REST?

Open documentation ↗