# read.collection\_snapshot\_data()

### Parameters

**`id`***`:int:`*`ID of Rasgo Collection to return`

**`snapshot_index`***`:int:`*`Index number referencing the snapshot to pull`

**`filters`***`:dict: (Optional)`*`SQL filters to apply to model data`

**`limit`***`:int: (Optional)`*`Number of records to return`

### Return Object

pandas DataFrame

### Sample Usage

Return an entire collection snapshot without filters

```python
rasgo = pyrasgo.connect(api_key)

df = pd.DataFrame
df = rasgo.read.collection_snapshot_data(7, 1)
```

Return a collection with filtered results

```python
df = rasgo.read.collection_data(id=7,
                                snapshot_index=1, 
                                filters={"DATE":"2020-12-25"}
                                )
```

```python
df = rasgo.read.collection_data(id=7, 
                                snapshot_index=1, 
                                filters={"DATE":">='2020-12-25'"}
                                )
```

```python
df = rasgo.read.collection_data(id=7, 
                                snapshot_index=1, 
                                filters={"DATE":"2020-12-25",
                                         "FIPS":"BETWEEN '0000' AND '2000'"},
                                limit=100
                                )
```

### Best Practices / Tips

{% hint style="info" %}
NOTE: Filter syntax is a pyton dictionary: **{ k : v }**\
Where:\
k= field to apply filter to\
v= valid ANSI sql logic
{% endhint %}

Supported SQL Filters are:

* ">" Greater than
* "<" Less than
* ">=" Greater than or eqaul to
* "<=" Less than or equal to
* "<>" or "!=" Does not equal
* "IN (x,y,z)" In (list)
* "BETWEEN x AND y" Between 2 values
