> For the complete documentation index, see [llms.txt](https://falcon-bot.gitbook.io/falcon-api/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://falcon-bot.gitbook.io/falcon-api/reference/core-concepts.md).

# Core Concepts

## Agent IDs

Every dataset in Falcon is queried using an **agent\_id**.

The `agent_id` determines which dataset or endpoint logic the request is routed to.

Examples:

* **Markets** — market metadata, liquidity, and volume
* **Trades** — individual transaction history

Example request:

```json
{
  "agent_id": 101
}
```

Refer to the dataset-specific documentation for the full list of supported `agent_id` values.

***

## Pagination

Falcon supports pagination to efficiently navigate large datasets.

Pagination parameters allow you to control how many records are returned and where the result set begins.

#### Parameters

* **limit**\
  Number of records returned per request.\
  Range: `1 – 200`\
  Default: `10`
* **offset**\
  Number of records to skip before returning results.
* **has\_more**\
  Returned in the response to indicate whether additional pages are available.

#### Example: Fetch Page 3

If each page contains 25 results:

```json
{
  "pagination": {
    "limit": 25,
    "offset": 50
  }
}
```

Explanation:

```json
offset = limit × (page - 1)
offset = 25 × (3 - 1)
offset = 50
```

***

## Time Filters

Many Falcon datasets support filtering results by time.

Time filters use **Unix timestamps represented as strings**.

Example:

```json
{
  "params": {
    "start_time": "1703719954",
    "end_time": "1704067199"
  }
}
```

This returns records within the specified time range.

***

## Converting to Unix Timestamps

You can easily generate Unix timestamps in most programming languages.

#### JavaScript

```java
Math.floor(Date.now() / 1000).toString()
```

#### Python

```python
str(int(time.time()))
```

#### Last 24 Hours Example

```
now - 86400
```

***

## Tips for Best Results

* Use pagination when querying large datasets to avoid large responses.
* Combine `params` filters with pagination for faster queries.
* Always verify `has_more` in the response when iterating through data pages.
* Use time filters to limit the dataset size and improve performance.
