> ## Documentation Index
> Fetch the complete documentation index at: https://apidoc.crowdchange.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# Find Campaign

> Search CrowdChange campaigns server-side with rich filters and retrieve a paginated list of matching fundraisers with goal, raised, and status data.

## Body

<ParamField body="text" type="string">
  Search term.
</ParamField>

<ParamField body="page" type="integer">
  Page number. Default: `1`
</ParamField>

<ParamField body="limit" type="integer">
  Number of results to return. Default: `100`
</ParamField>

<ParamField body="sort" type="string">
  Key to sort by. Allowed values: `id`, `name`, `amount_raised`, `amount_goal`
</ParamField>

<ParamField body="direction" type="string">
  Direction of sorting. Allowed values: `asc`, `desc`
</ParamField>

<ParamField body="email" type="string">
  Email filter.
</ParamField>

<ParamField body="status" type="string">
  Campaign status. Allowed values: `approved`, `pending`
</ParamField>

<ParamField body="is_hidden" type="boolean">
  True if campaign is hidden, otherwise false.
</ParamField>

<ParamField body="created_at" type="object">
  Campaign's creation date filter.

  <Expandable title="properties">
    <ParamField body="<" type="string" />

    <ParamField body="<=" type="string" />

    <ParamField body="=" type="string" />

    <ParamField body=">=" type="string" />

    <ParamField body=">" type="string" />
  </Expandable>
</ParamField>

<ParamField body="amount_goal" type="object">
  Campaign's amount goal filter.

  <Expandable title="properties">
    <ParamField body="<" type="number" />

    <ParamField body="<=" type="number" />

    <ParamField body="=" type="number" />

    <ParamField body=">=" type="number" />

    <ParamField body=">" type="number" />
  </Expandable>
</ParamField>

<ParamField body="amount_raised" type="object">
  Campaign's amount raised filter.

  <Expandable title="properties">
    <ParamField body="<" type="number" />

    <ParamField body="<=" type="number" />

    <ParamField body="=" type="number" />

    <ParamField body=">=" type="number" />

    <ParamField body=">" type="number" />
  </Expandable>
</ParamField>

<ParamField body="after_id" type="integer">
  Return teams after Team ID.
</ParamField>

<ParamField body="lang" type="string">
  API's locale. Allowed values: `en`, `fr`
</ParamField>

<ParamField body="filter_by_lang" type="integer">
  Filter campaigns only available in locale
</ParamField>

<ParamField body="tags" type="string[]">
  List of fundraiser tags.
</ParamField>

## Response

Returns an array of objects with the following fields.

<ResponseField name="id" type="integer">
  Campaign ID.
</ResponseField>

<ResponseField name="partner_id" type="integer">
  Site ID.
</ResponseField>

<ResponseField name="name" type="string">
  Campaign name.
</ResponseField>

<ResponseField name="created_at" type="string">
  Campaign creation date.
</ResponseField>

<ResponseField name="amount_goal" type="number">
  Goal amount.
</ResponseField>

<ResponseField name="amount_raised" type="number">
  Amount raised by the campaign.
</ResponseField>

<ResponseField name="amount_raised_formatted" type="string">
  Formatted amount raised by the campaign, includes currency symbol.
</ResponseField>

<ResponseField name="dt_start" type="string">
  Date and time when campaign starts.
</ResponseField>

<ResponseField name="dt_end" type="string">
  Date and time when campaign ends.
</ResponseField>

<ResponseField name="location" type="string">
  Campaign location.
</ResponseField>

<ResponseField name="url" type="string">
  URL to campaign.
</ResponseField>

<ResponseField name="n_donors" type="integer">
  Number of donors.
</ResponseField>

<ResponseField name="n_teams" type="integer">
  Number of teams.
</ResponseField>

<ResponseField name="n_pages" type="integer">
  Number of pages.
</ResponseField>

<ResponseField name="status" type="string">
  Campaign's approval status. Allowed values: `approved`, `pending`
</ResponseField>

<ResponseField name="status_code" type="string">
  Campaign's activity status code. Allowed values: `live`, `deleted`, `archived`, `pending_approval`, `opening_soon`, `closed`
</ResponseField>

<ResponseField name="is_hidden" type="boolean">
  True if campaign is hidden, otherwise false.
</ResponseField>

<ResponseField name="auto_open_at" type="string">
  Date when campaign is scheduled to auto-open
</ResponseField>

<ResponseField name="auto_close_at" type="string">
  Date when campaign is scheduled to auto-close
</ResponseField>

<ResponseField name="closed_at" type="string">
  Date when campaign was closed
</ResponseField>

<ResponseField name="archived_at" type="string">
  Date when campaign was archived
</ResponseField>

<ResponseField name="language" type="string">
  Campaign language. Allowed values: `en`, `fr`
</ResponseField>

<ResponseField name="in_support_name" type="string">
  Value of `In support of` field associated with campaign.
</ResponseField>

<ResponseField name="in_support_code" type="string">
  Code provided for `In support of` field.
</ResponseField>

<ResponseField name="appeal_code" type="string">
  Appeal code.
</ResponseField>

<ResponseField name="user" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="integer">
      Campaign owner's ID
    </ResponseField>

    <ResponseField name="name" type="string">
      Campaign owner's name
    </ResponseField>

    <ResponseField name="first_name" type="string">
      Campaign owner's first name
    </ResponseField>

    <ResponseField name="last_name" type="string">
      Campaign owner's last name
    </ResponseField>

    <ResponseField name="title" type="string">
      Campaign owner's title
    </ResponseField>

    <ResponseField name="email" type="string">
      Campaign owner's email
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="organization" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="integer">
      Campaign organization's ID
    </ResponseField>

    <ResponseField name="name" type="string">
      Campaign organization's name
    </ResponseField>

    <ResponseField name="custom_id" type="string">
      Campaign organization's Custom ID
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="fundraiser_template" type="object">
  <Expandable title="properties">
    <ResponseField name="id" type="integer">
      Template ID.
    </ResponseField>

    <ResponseField name="name" type="string">
      Template Name.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="images" type="object">
  <Expandable title="properties">
    <ResponseField name="original" type="string">
      URL to original campaign's image.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="custom_data" type="object[]">
  List of custom questions and responses.

  <Expandable title="properties">
    <ResponseField name="field_id" type="integer">
      Custom field id.
    </ResponseField>

    <ResponseField name="source_id" type="integer">
      If field was copied from Blueprint, this will reference the source field id from blueprint (similar to group id).
    </ResponseField>

    <ResponseField name="name" type="string">
      Custom field label.
    </ResponseField>

    <ResponseField name="content" type="string">
      User's answer to custom field.
    </ResponseField>

    <ResponseField name="field_custom_id" type="string">
      Custom ID.
    </ResponseField>

    <ResponseField name="response_custom_id" type="string">
      Custom ID for the response (multiple choice questions).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="tags_list" type="any[]">
  Campaign tags.
</ResponseField>

**Other responses**

| Status | Description |
| ------ | ----------- |
| `400`  | Bad Request |
| `403`  | Forbidden   |

<ResponseExample>
  ```json theme={null}
  [
    {
      "id": 1,
      "partner_id": 10,
      "name": "Campaign",
      "created_at": "2022-01-01 16:00:03",
      "amount_goal": 1000,
      "amount_raised": 550,
      "amount_raised_formatted": "$550",
      "dt_start": "2021-01-01 08:00:00",
      "dt_end": "2021-01-01 16:00:00",
      "location": "100 Main Street, Toronto, ON",
      "url": "https://demo.crowdchange.dev/2",
      "n_donors": 100,
      "n_teams": 50,
      "n_pages": 50,
      "status": "approved",
      "status_code": "approved",
      "is_hidden": false,
      "auto_open_at": "2022-03-01 00:00:00",
      "auto_close_at": "2022-03-01 00:00:00",
      "closed_at": "2022-03-01 00:00:00",
      "archived_at": "2022-03-01 00:00:00",
      "language": "en",
      "in_support_name": "Cancer Research",
      "in_support_code": "CR-123",
      "appeal_code": "GEN-123",
      "user": {
        "id": 1,
        "name": "John Snow",
        "first_name": "John",
        "last_name": "Snow",
        "title": "Mr.",
        "email": "john@crowdchange.co"
      },
      "organization": {
        "id": 1,
        "name": "Crowdchange",
        "custom_id": "CrowdchangeID"
      },
      "fundraiser_template": {
        "id": 1,
        "name": "Template"
      },
      "images": {
        "original": "https://img.crowdchange.co/files/abc.png?tr=w-[width],h-[height]"
      },
      "custom_data": [
        {
          "field_id": 1001,
          "source_id": 11,
          "name": "Phone Number",
          "content": "555-123-4567",
          "field_custom_id": "ABC-123",
          "response_custom_id": "ABC-123"
        }
      ],
      "tags_list": [
        "tag1",
        "tag2"
      ]
    }
  ]
  ```
</ResponseExample>
