> ## Documentation Index
> Fetch the complete documentation index at: https://proclubs-sdk.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# ProClubsClient

> Constructor, namespaces, options, and request behavior.

```ts theme={null}
import { ProClubsClient } from 'proclubs-sdk'

const proclubs = new ProClubsClient(options)
```

## Constructor

```ts theme={null}
interface ProClubsClientOptions {
  platform?: Platform
  timeoutMs?: number
  maxAttempts?: number
  baseDelayMs?: number
  httpMode?: 'default' | 'strict'
  transport?: ProClubsTransport
  cache?: boolean | ProClubsCacheOptions
  onEvent?: ProClubsEventHandler
}
```

All options are optional. See [Configure the client](/docs/guides/configuration)
for defaults, constraints, and custom transport behavior.

## Namespaces

<CardGroup cols={2}>
  <Card title="clubs" icon="shield" href="/docs/reference/clubs">
    Search, information, statistics, and playoff history.
  </Card>

  <Card title="rankings" icon="trophy" href="/docs/reference/rankings">
    All-time and current-season leaderboards.
  </Card>

  <Card title="members" icon="users" href="/docs/reference/members">
    Current and career member statistics.
  </Card>

  <Card title="matches" icon="futbol" href="/docs/reference/matches">
    Recent friendly, league, and playoff matches.
  </Card>
</CardGroup>

## Request options

Every public method accepts request options as its second argument.

```ts theme={null}
interface ProClubsRequestOptions {
  signal?: AbortSignal
  cache?: 'default' | 'bypass' | 'refresh'
}
```

## Return behavior

* Collection methods return an empty array when EA returns an empty collection.
* `clubs.get` and `clubs.overallStats` return `null` when no matching club is
  present in a valid response.
* Member methods return an object containing both `members` and
  `positionCount`.
* `clubs.playoffAchievements` returns an empty array when a club has no playoff
  history.
* Known response fields are typed, while additional EA fields are preserved.
* Club objects that include a `regionId` may also include a derived `regionLabel`.
* Member records that include a known `proNationality` may also include a derived `nationality`.

## Runtime behavior

The built-in transport sends direct GET requests to
`https://proclubs.ea.com/api/fc/` using Impit's Chrome profile. It does not add
credentials, cookies, authentication, a proxy, or telemetry. The optional
cache is local to the client instance; see [Cache and observability](/docs/guides/cache-and-observability).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.