---
title: Status
sidebar_position: 1
---
import Tabs from "@theme/Tabs";
import TabItem from "@theme/TabItem";
Retrieve market status information (open/closed) for dates and countries.
## Making Requests
Use the `status()` method on the `markets` resource to fetch market status information. The method supports multiple output formats:
| Output Format | Return Type | Description |
|---------------|-------------|-------------|
| **DATAFRAME** | `pandas.DataFrame` or `polars.DataFrame` | Returns a DataFrame with market status data (default). |
| **INTERNAL** | `list[MarketStatus]` or `list[MarketStatusHumanReadable]` | Returns a list of MarketStatus objects. When `use_human_readable=True`, returns a list of MarketStatusHumanReadable objects with capitalized field names. |
| **JSON** | `dict` | Returns the raw JSON response as a dictionary. |
| **CSV** | `str` | Writes CSV data to file and returns the filename string. |
## status
```python
def status(
*,
date: str | datetime.datetime = None,
from_date: str | datetime.datetime = None,
to_date: str | datetime.datetime = None,
countback: int = None,
country: str = None,
output_format: OutputFormat = OutputFormat.DATAFRAME,
date_format: DateFormat = None,
columns: list[str] = None,
add_headers: bool = None,
use_human_readable: bool = False,
mode: Mode = None,
filename: str | Path = None,
) -> list[MarketStatus] | list[MarketStatusHumanReadable] | dict | str | MarketDataClientErrorResult
```
Fetches market status information for specified dates and countries. All parameters must be keyword-only.
#### Parameters
- `date` (str | datetime.datetime, optional)
Specific date for the market status.
- `from_date` (str | datetime.datetime, optional)
Start date for the date range.
- `to_date` (str | datetime.datetime, optional)
End date for the date range.
- `countback` (int, optional)
Number of days to return, counting backwards from the `to_date`.
- `country` (str, optional)
Filter by country code (e.g., "US", "CA", "GB").
- `output_format` ([OutputFormat](/sdk/py/settings#output-format), optional)
The format of the returned data. Defaults to `OutputFormat.DATAFRAME`. See [Settings](/sdk/py/settings) for details.
- `date_format` ([DateFormat](/sdk/py/settings#date-format), optional)
The date format to use in the response. Defaults to `DateFormat.UNIX`. See [Settings](/sdk/py/settings) for details.
- [`columns`](/sdk/py/settings#columns) (optional)
Specify which columns to include in the response. See [Settings](/sdk/py/settings) for details.
- [`add_headers`](/sdk/py/settings#headers) (optional)
Whether to include headers in the response. See [Settings](/sdk/py/settings) for details.
- [`use_human_readable`](/sdk/py/settings#human-readable) (optional)
Whether to use human-readable format for values. Only applies when `output_format=OutputFormat.INTERNAL`. See [Settings](/sdk/py/settings) for details.
- `mode` ([Mode](/sdk/py/settings#data-mode), optional)
The data feed mode to use. See [Settings](/sdk/py/settings) for details.
- `filename` (str | Path, optional)
File path for CSV output (only used with `output_format=OutputFormat.CSV`).
#### Returns
- `list[MarketStatus]` | `list[MarketStatusHumanReadable]` | `dict` | `str` | `MarketDataClientErrorResult`
The market status data in the requested format, or a `MarketDataClientErrorResult` if an error occurred.
#### Notes
- All parameters must be keyword-only (no positional arguments).
- When using `countback`, it counts backwards from `to_date` or the current date if `to_date` is not provided.
```python
from marketdata.client import MarketDataClient
client = MarketDataClient()
# Get market status as DataFrame (default)
# All parameters must be keyword-only
df = client.markets.status(countback=7)
# Get market status for a specific date
df = client.markets.status(date="2023-01-01")
# Get market status for a date range
df = client.markets.status(
from_date="2023-01-01",
to_date="2023-01-31",
country="US"
)
print(df)
```
```python
from marketdata.client import MarketDataClient
from marketdata.input_types.base import OutputFormat
client = MarketDataClient()
# Get market status as internal objects
status_list = client.markets.status(
countback=7,
output_format=OutputFormat.INTERNAL
)
# Access individual status properties
for status in status_list:
print(f"Date: {status.date}")
print(f"Status: {status.status}")
```
```python
from marketdata.client import MarketDataClient
from marketdata.input_types.base import OutputFormat
client = MarketDataClient()
# Get market status as JSON
status = client.markets.status(
countback=7,
output_format=OutputFormat.JSON
)
print(status)
```
```python
from marketdata.client import MarketDataClient
from marketdata.input_types.base import OutputFormat
from pathlib import Path
client = MarketDataClient()
# Get market status as CSV
csv_file = client.markets.status(
countback=7,
output_format=OutputFormat.CSV,
filename=Path("market_status.csv")
)
print(f"CSV file saved to: {csv_file}")
```
```python
from marketdata.client import MarketDataClient
from marketdata.input_types.base import OutputFormat
client = MarketDataClient()
# Get market status in human-readable format
status_list = client.markets.status(
countback=7,
output_format=OutputFormat.INTERNAL,
use_human_readable=True
)
# Access individual status properties
for status in status_list:
print(f"Status: {status.Status}")
print(f"Date: {status.Date}")
```
## MarketStatus
```python
@dataclass
class MarketStatus:
date: datetime.date
status: str
```
MarketStatus represents market status information for a specific date, indicating whether the market is open or closed.
#### Properties
- `date` (datetime.date): The date for which the market status applies (automatically converted from timestamp).
- `status` (str): The market status (e.g., "open", "closed").
#### Notes
- The `date` field is automatically converted to a `datetime.date` object from a Unix timestamp.
## MarketStatusHumanReadable
```python
@dataclass
class MarketStatusHumanReadable:
Status: str
Date: datetime.datetime
```
MarketStatusHumanReadable represents market status information in human-readable format with capitalized field names and formatted values.
#### Properties
- `Status` (str): The market status (e.g., "open", "closed").
- `Date` (datetime.datetime): The date for which the market status applies (automatically converted from timestamp).
#### Notes
- The `Date` field is automatically converted to a `datetime.datetime` object from a Unix timestamp.
- Field names use capitalized format (e.g., `Date` instead of `date`, `Status` instead of `status`).