Skip to main content
Gusto REST API access for reading payroll, employees, companies, departments, and pay schedules for a connected Gusto company. Use when an agent needs employee records, payroll history, or pay schedules from Gusto. Routes through Pipedream Connect, so the user sees one Gusto consent screen that says “Pipedream wants access” and Lava holds no Gusto token. 5 example endpoints available through Lava’s AI Gateway. See the Gusto API docs for full documentation.
This provider requires your own credentials — connect your API key or OAuth account before use.
This is a catch-all provider — any valid URL under https://api.gusto.com is supported. Gusto REST API v1. Base https://api.gusto.com, paths under /v1. The connected company UUID is NOT in the token, so resolve it first via GET /v1/me, then most reads are company-scoped: /v1/companies/{company_id}/employees, /v1/employees/{employee_id}, /v1/companies/{company_id}/payrolls, /v1/companies/{company_id}/pay_schedules, /v1/companies/{company_id}/departments. Pagination is offset-based with page and per (per max 100). Pin the API version with an X-Gusto-API-Version header (e.g. 2024-04-01); omitting it uses the connection default. Money is returned as decimal strings. Auth is brokered by Pipedream, do not send an Authorization header. This provider is read-only: only GET requests are supported. The endpoints below are curated examples.

Endpoints

Get the authenticated user and associated company info. Use as a cheap auth probe and to resolve the company UUID (not present in the token) needed for company-scoped reads.

GET https://api.gusto.com/v1/me — Free
const data = await lava.gateway('https://api.gusto.com/v1/me', { method: 'GET' });

List employees (onboarding, active, terminated) for a company. Paginate with page and per (max 100).

GET https://api.gusto.com/v1/companies/{company_id}/employees?page=1&per=50 — Free
const data = await lava.gateway('https://api.gusto.com/v1/companies/{company_id}/employees?page=1&per=50', { method: 'GET' });

Get a single employee by UUID. Compensation fields require the compensations:read scope on the connection.

GET https://api.gusto.com/v1/employees/{employee_id} — Free
const data = await lava.gateway('https://api.gusto.com/v1/employees/{employee_id}', { method: 'GET' });

List payrolls for a company (defaults to processed regular payrolls for the past 6 months).

GET https://api.gusto.com/v1/companies/{company_id}/payrolls — Free
const data = await lava.gateway('https://api.gusto.com/v1/companies/{company_id}/payrolls', { method: 'GET' });

List the pay schedules for a company (pay frequency and period dates).

GET https://api.gusto.com/v1/companies/{company_id}/pay_schedules — Free
const data = await lava.gateway('https://api.gusto.com/v1/companies/{company_id}/pay_schedules', { method: 'GET' });

Next Steps

All Providers

Browse all supported AI providers

Forward Proxy

Learn how to construct proxy URLs and authenticate requests