---
title: "Contractors directory"
method: GET
path: "/contractors"
tags: ["Contractors"]
---

# Contractors directory

`GET /contractors`

## Request

- Base URL: `https://api.purplegrain.com/api/v1`
- URL: `https://api.purplegrain.com/api/v1/contractors`
- Auth: none declared

The public "Find contractors" directory: providers (Users and
Organizations) grouped from the active-service pool, with the same
filters as the services search (category, term, location radius).
Ordering follows the underlying search — nearest first when latitude/longitude are
given. `liked` reflects the caller's Liked-contractors set when signed
in (always false when signed out).

## Query parameters

- `category` string
- `term` string
- `latitude` number
- `longitude` number
- `radius` number
- `page` integer
- `per_page` integer

## Response `200`

Providers grouped from matching services.

- ContractorsIndexResponseAttributes: Contractors directory response for Accept application/json (attributes adapter).
  - `data` ContractorModelAttributes[]
    - `id` string
    - `type` string
    - `name` string
    - `slug` string
    - `owner_type` 'User' | 'Organization'
    - `place_label` string, nullable
    - `distance_km` number, nullable
    - `categories` string[]
    - `services_count` integer
    - `liked` boolean
    - `avatar_url` string, nullable
    - `avatar_thumb_url` string, nullable
    - `url` string, nullable
  - `meta` PaginationMeta
    - `current_page` number
    - `next_page` number, nullable
    - `prev_page` number, nullable

---

[API](https://skmtc.dev/purplegrain/apis/purple-grain-api.md) · [All operations](https://skmtc.dev/purplegrain/apis/purple-grain-api/llms.txt) · [OpenAPI document](https://skmtc.dev/purplegrain/apis/purple-grain-api/revisions/06540345bbbc?raw)
