> Reverse Contact API documentation. This is the Markdown copy of https://docs.reversecontact.com/endpoints/search-organizations-available-fields
> Every page is listed at https://docs.reversecontact.com/llms.txt, every endpoint with its credit cost and status at https://docs.reversecontact.com/catalog.json

# Organization search available fields

> Discover the filters accepted by the Organization Search endpoint.

- Endpoint: `GET https://api.reversecontact.com/v2/search/organizations/available-fields`
- Credits: Free.
- Answer: synchronous.
- Last verified: 2026-10-16

## Introduction

This endpoint returns metadata describing every filter accepted by [Organization search](https://docs.reversecontact.com/endpoints/search-organizations) and [Organization search count](https://docs.reversecontact.com/endpoints/search-organizations-count), plus the `cursor` and `perPage` pagination parameters of Organization search. It lets integrations (for example Clay) discover available inputs dynamically instead of hardcoding the filter list, so new search capabilities surface automatically as we release them.

For closed-vocabulary filters, the `allowedValues` array lists every accepted value: the industries of `industry`, and the ISO country codes of `location.countryCode` under `properties`.

Like [Usage](https://docs.reversecontact.com/endpoints/usage), this route uses `GET`, takes no request body, and **costs 0 credits**.

> Looking for people filters? See [People search available fields](https://docs.reversecontact.com/endpoints/search-people-available-fields).

## Endpoint

| Method | URL                                          | Describes           |
| ------ | -------------------------------------------- | ------------------- |
| `GET`  | `/v2/search/organizations/available-fields` | Organization Search |

## Authorization

| Name     | Type   | Required | Description                                                                                         |
| -------- | ------ | -------- | --------------------------------------------------------------------------------------------------- |
| `apikey` | string | Yes      | Your API key from the developer dashboard. Pass it via `Authorization: Bearer YOUR_API_KEY` header. |

## Response structure

| Field     | Type    | Description                                      |
| --------- | ------- | ------------------------------------------------ |
| `success` | boolean | `true` if the request was processed successfully |
| `error`   | `null`  | Always `null` on success                         |

**data** (SearchFields): Container for the discovered fields

| Field    | Type      | Description                                       |
| -------- | --------- | ------------------------------------------------- |
| `object` | string    | Always `"search_fields"`                          |
| `entity` | string    | Always `"organization"` for this endpoint         |
| `fields` | `Field[]` | List of accepted filters and pagination parameters (see field shape below) |

**fields** (Field): One accepted search filter or pagination parameter

| Field          | Type        | Description                                                                       |
| -------------- | ----------- | --------------------------------------------------------------------------------- |
| `name`         | string      | Field name, used as a key in the search request body                              |
| `type`         | string      | `string`, `number`, `range`, `location`, `date-time`, or `string \| string[]`      |
| `required`     | boolean     | Whether the field is mandatory on its own (always `false`: each filter is optional, but a search needs at least one) |
| `description`  | string      | Human-readable explanation of the field                                           |
| `example`      | unknown     | Example value, when helpful (optional)                                            |
| `allowedValues`| `unknown[]` | Closed set of accepted values, when applicable, such as the industry list (optional) |
| `properties`   | object      | Sub-field shapes for `range` and `location` filters (optional)                    |

## Code examples

**Code Examples**

```bash [cURL]
curl https://api.reversecontact.com/v2/search/organizations/available-fields \
  -H "Authorization: Bearer YOUR_API_KEY"
```
```javascript [JavaScript]
const response = await fetch(
  "https://api.reversecontact.com/v2/search/organizations/available-fields",
  {
    headers: {
      "Authorization": "Bearer YOUR_API_KEY"
    }
  }
);

const data = await response.json();
console.log(data.data.fields.map((f) => f.name));
```
```python [Python]
import requests

response = requests.get(
    "https://api.reversecontact.com/v2/search/organizations/available-fields",
    headers={
        "Authorization": "Bearer YOUR_API_KEY"
    }
)

data = response.json()
print([f["name"] for f in data["data"]["fields"]])
```

## Example response

The response below is truncated to three fields: the catalog describes every filter accepted by Organization search, then `cursor` and `perPage`.

**Example Response**

```json [200 - Success]
{
  "success": true,
  "data": {
    "object": "search_fields",
    "entity": "organization",
    "fields": [
      {
        "name": "specialities",
        "type": "string | string[]",
        "required": false,
        "description": "Speciality listed on the organization profile, or an array of specialities (OR matching)",
        "example": ["SaaS", "Machine Learning"]
      },
      {
        "name": "foundedYear",
        "type": "range",
        "required": false,
        "description": "Filter by founding year. Both bounds are optional and inclusive (range 0 - 2100).",
        "example": { "min": 2015, "max": 2020 },
        "properties": {
          "min": { "type": "number", "description": "Minimum value, inclusive" },
          "max": { "type": "number", "description": "Maximum value, inclusive" }
        }
      },
      {
        "name": "maxDataAgeDate",
        "type": "date-time",
        "required": false,
        "description": "Only return organizations refreshed after this ISO 8601 datetime. Needs at least one other filter."
      }
    ]
  },
  "error": null,
  "quotas": {
    "creditsConsumed": 0,
    "workspace": {
      "id": "ws_abc123",
      "credits": { "total": 10000, "used": 4521, "left": 5479 }
    }
  },
  "metadata": {
    "requestId": "req_o1f2i3e4l5d6",
    "executionTimeMs": 3
  }
}
```
