> ## 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 Personal Page

> Search public CrowdChange personal fundraising pages by keyword and retrieve a paginated list of matches with goal, raised, and owner details.

## Query parameters

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

<ParamField query="fundraiser_team_id" type="integer">
  Team id. Returns specific team if provided.
</ParamField>

<ParamField query="fundraisers" type="string">
  Comma separated list of fundraiser ids.
</ParamField>

<ParamField query="templates" type="string">
  Comma separated list of fundraiser template (blueprint) ids.
</ParamField>

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

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

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

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

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

<ParamField query="include_hidden" type="integer">
  Include personal pages from hidden campaigns. Default: `0`
</ParamField>

<ParamField query="include_subsites" type="integer">
  Include data from subsites. Default: `0`
</ParamField>

<ParamField query="include_description" type="boolean">
  Include the personal page description in the response. The returned `description` is plain text with all HTML removed and truncated to 200 characters. Default: `false`
</ParamField>

<ParamField query="amount_raised" type="object">
  Personal page's amount raised filter.
</ParamField>

## Response

Returns an array of objects with the following fields.

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

<ResponseField name="name" type="string">
  Personal page name.
</ResponseField>

<ResponseField name="description" type="string">
  Personal page description as plain text with all HTML removed, truncated to 200 characters. Only returned when `include_description` is set.
</ResponseField>

<ResponseField name="image" type="string">
  Personal page image ID
</ResponseField>

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

<ResponseField name="amount_goal_formatted" type="string">
  Formatted goal amount of the personal page, includes currency symbol.
</ResponseField>

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

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

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

<ResponseField name="url" type="string">
  Full URL to personal page.
</ResponseField>

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

<ResponseField name="team" type="object">
  Team name that personal page belongs to (if assigned to a team).

  <Expandable title="properties">
    <ResponseField name="id" type="integer">
      Team ID.
    </ResponseField>

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

    <ResponseField name="amount_goal" type="number">
      Team's goal amount.
    </ResponseField>

    <ResponseField name="amount_raised" type="number">
      Total amount raised by the team.
    </ResponseField>

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

    <ResponseField name="url" type="string">
      Full URL to team's page.
    </ResponseField>

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

<ResponseField name="fundraiser" type="object">
  Campaign that personal page belongs to.

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

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

    <ResponseField name="amount_goal" type="number">
      Campaign's goal amount.
    </ResponseField>

    <ResponseField name="amount_raised" type="number">
      Total 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="url" type="string">
      URL to campaign's page.
    </ResponseField>

    <ResponseField name="language" type="string">
      Campaign language. Allowed values: `en`, `fr`
    </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>
  </Expandable>
</ResponseField>

<ResponseField name="user" type="object">
  <Expandable title="properties">
    <ResponseField name="name" type="string">
      Personal page owner's name
    </ResponseField>

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

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

    <ResponseField name="title" type="string">
      Personal page owner's title
    </ResponseField>
  </Expandable>
</ResponseField>

**Other responses**

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

<ResponseExample>
  ```json theme={null}
  [
    {
      "id": 1,
      "name": "John Snow",
      "description": "Help us reach our goal and make a difference!",
      "image": "1eaf5ab2-5d55-11ee-82ef-001c42584fa2",
      "amount_goal": 1000,
      "amount_goal_formatted": "$1,000",
      "amount_raised": 550,
      "amount_raised_formatted": "$550",
      "n_donors": 10,
      "url": "https://demo.crowdchange.dev/2/page/1",
      "language": "en",
      "team": {
        "id": 1,
        "name": "Gala Night",
        "amount_goal": 10000,
        "amount_raised": 8000,
        "amount_raised_formatted": "$8,000",
        "url": "https://demo.crowdchange.dev/1/team/2",
        "language": "en"
      },
      "fundraiser": {
        "id": 1,
        "name": "Gala Night",
        "amount_goal": 10000,
        "amount_raised": 8000,
        "amount_raised_formatted": "$8,000",
        "url": "https://demo.crowdchange.dev/1",
        "language": "en",
        "organization": {
          "id": 1,
          "name": "Crowdchange",
          "custom_id": "CrowdchangeID"
        }
      },
      "user": {
        "name": "John Snow",
        "first_name": "John",
        "last_name": "Snow",
        "title": "Mr."
      }
    }
  ]
  ```
</ResponseExample>
