> ## Documentation Index
> Fetch the complete documentation index at: https://hexagraph-docs.voyla.in/llms.txt
> Use this file to discover all available pages before exploring further.

# List Countries

> Retrieve a paginated list of countries.

Retrieves a paginated list of countries.

### Query Parameters

<ParamField query="page" default="1" type="integer">
  Page number for pagination. Default is `1`.
</ParamField>

<ParamField query="per_page" default="25" type="integer">
  Results per page. Allowed values: `10`, `25`, `50`, `100`.
</ParamField>

### Response Fields

<ResponseField name="meta" type="object" required>
  Pagination metadata.

  <Expandable title="meta attributes">
    <ResponseField name="count" type="integer">
      Total number of matching records.
    </ResponseField>

    <ResponseField name="page" type="integer">
      Current page number.
    </ResponseField>

    <ResponseField name="per_page" type="integer">
      Number of records returned per page.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="results" type="array" required>
  Array of country records.

  <Expandable title="results item attributes">
    <ResponseField name="id" type="integer">
      Country ID.
    </ResponseField>

    <ResponseField name="code" type="string">
      ISO country code.
    </ResponseField>

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

    <ResponseField name="description" type="string">
      Description of the country.
    </ResponseField>

    <ResponseField name="wikidata" type="string">
      Wikidata URL or identifier.
    </ResponseField>

    <ResponseField name="wikipedia" type="string">
      Wikipedia URL.
    </ResponseField>

    <ResponseField name="is_global_south" type="boolean">
      Indicates whether the country is part of the Global South.
    </ResponseField>

    <ResponseField name="outputs_count" type="integer">
      Total research outputs count associated with the country.
    </ResponseField>

    <ResponseField name="cited_by_count" type="integer">
      Total citations count.
    </ResponseField>

    <ResponseField name="created_date" type="string">
      Creation timestamp.
    </ResponseField>

    <ResponseField name="updated_date" type="string">
      Last updated timestamp.
    </ResponseField>

    <ResponseField name="display_name_alternatives" type="array">
      Alternative names and codes for the country.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET "https://api.hexagraph.in/references/countries?page=1&per_page=25"
  ```

  ```javascript JavaScript theme={null}
  fetch("https://api.hexagraph.in/references/countries?page=1&per_page=25")
    .then(response => response.json())
    .then(data => console.log(data));
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api.hexagraph.in/references/countries",
      params={"page": 1, "per_page": 25}
  )

  print(response.json())
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "meta": {
      "count": 246,
      "page": 1,
      "per_page": 25
    },
    "results": [
      {
        "id": 889,
        "code": "AF",
        "name": "Afghanistan",
        "description": "country in Central and South Asia",
        "wikidata": "https://www.wikidata.org/wiki/Q889",
        "wikipedia": "https://en.wikipedia.org/wiki/Afghanistan",
        "is_global_south": true,
        "outputs_count": 19103,
        "cited_by_count": 129336,
        "created_date": "2024-02-12T14:29:17.000Z",
        "updated_date": "2026-08-02T06:04:49.000Z",
        "display_name_alternatives": [
          "AFG",
          "af"
        ]
      }
    ]
  }
  ```

  ```json 400 Bad Request theme={null}
  {
    "statusCode": 400,
    "message": "Bad Request - Invalid query parameters",
    "error": "Bad Request"
  }
  ```

  ```json 429 Too Many Requests theme={null}
  {
    "statusCode": 429,
    "message": "Rate limit exceeded. Maximum 30 requests per minute.",
    "error": "Too Many Requests"
  }
  ```
</ResponseExample>
