# API

Every **Raw Data asset** in the Data Midsouth portal is accessible via Explore API — a **REST API** that lets you **query**, **filter**, and **retrieve data** programmatically.&#x20;

This is useful if you're building an application, automating a data pipeline, or integrating DMS data into your own tools.

{% hint style="warning" %}
**This page is for developers and analysts comfortable with APIs and HTTP requests.** If you're not sure what an API is, [downloads-and-formats](https://help.datamidsouth.org/data-midsouth-portal/features/downloads-and-formats "mention") is likely a better starting point for getting data out of the portal.
{% endhint %}

### The Explore API

The Data Midsouth portal runs on the Huwise platform. Its public API is the Explore API v2.1, available at:

```
https://datamidsouth.opendatasoft.com/api/explore/v2.1/
```

The API follows standard REST conventions — all endpoints return **JSON**, and requests are made via **HTTP GET**. &#x20;

The full API reference documentation is [available here](https://help.opendatasoft.com/apis/ods-explore-v2/).

### Getting an API key

{% stepper %}
{% step %}

### Create a DMS account

Visit [login-accounts-optional](https://help.datamidsouth.org/data-midsouth-portal/getting-started/login-accounts-optional "mention")for more information.
{% endstep %}

{% step %}

### Log in&#x20;

Log into your account at datamidsouth.org
{% endstep %}

{% step %}

### Go to Account

Click your name or profile icon in the top-right corner

<div data-with-frame="true"><figure><img src="https://1095412806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe1ApIrdBTGqD08Mi8Gpp%2Fuploads%2FBZr1fuPM6DV0pINeDgeZ%2Faccount%20icon.jpg?alt=media&#x26;token=72a43bd1-3e0c-4c1a-bb39-307b2afab84c" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### API keys

Navigate to the tab labeled "API keys"

<figure><img src="https://1095412806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe1ApIrdBTGqD08Mi8Gpp%2Fuploads%2FEWEI8hisQaeKNUZQlMDG%2FAPIkeys.jpg?alt=media&#x26;token=6b83744c-3c0b-43f8-8c5e-37970b5588bc" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Generate new key

Click Generate a new API key and give it a name.

<figure><img src="https://1095412806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe1ApIrdBTGqD08Mi8Gpp%2Fuploads%2FUToUiAKnKrzGzC3n7Dac%2Fgenerate%20new%20key.jpg?alt=media&#x26;token=0cf8648f-d823-4e8d-84fe-8881374819f1" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Copy the key

You won't be able to see it again after closing the dialog.
{% endstep %}

{% step %}

### Use it

Use your API key by passing it as a query parameter or in the Authorization header:

```
GET /api/explore/v2.1/catalog/datasets?apikey=YOUR_API_KEY
```

{% endstep %}
{% endstepper %}

## Common API endpoints

#### List all datasets in the catalog

```
GET https://datamidsouth.opendatasoft.com/api/explore/v2.1/catalog/datasets
```

#### Get records from a specific dataset

```
GET https://datamidsouth.opendatasoft.com/api/explore/v2.1/catalog/datasets/{dataset_id}/records 
```

Replace {dataset\_id} with the dataset's identifier — found in the URL of its asset page. For example, the Eviction Court Cases dataset ID is eviction-court-cases-shelby-county.

#### Filter records with a where clause

```
GET .../records?where=zip_code='38114'&limit=100
```

#### Search and limit results

```
GET .../records?select=case_number,filing_date,zip_code&limit=50&offset=0
```

## Using the in-browser API console

{% hint style="warning" %}
Visualization, Mega Data, and Report assets **do not** have APIs. If you expect a button and don't see it, the feature isn't available for that particular asset.
{% endhint %}

Every Raw Data asset page has an API tab that provides an in-browser query builder.&#x20;

<figure><img src="https://1095412806-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fe1ApIrdBTGqD08Mi8Gpp%2Fuploads%2FyJeAzdoCAfTBkzF3zGxY%2FThumbnail_API%20Console.png?alt=media&#x26;token=59e959ca-86f0-4bed-9071-005b01a66d22" alt=""><figcaption></figcaption></figure>

You can:

•       Select filters and parameters using dropdowns

•       Preview the resulting API call as a URL

•       Copy the URL directly into your code

This is the fastest way to build a working API call without writing it from scratch.

### Rate limits

By default, anonymous API calls are subject to lower rate limits.&#x20;

Authenticated requests (using an API key) receive higher quotas.&#x20;

{% hint style="warning" %}
If you're building a production integration or pulling large datasets, use your API key and contact <datamidsouth@innovatememphis.com> to discuss your use case — the team can advise on the best approach for high-volume access.&#x20;
{% endhint %}
