# 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 & formats](/data-midsouth-portal/features/downloads-and-formats.md) 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)](/data-midsouth-portal/getting-started/login-accounts-optional.md)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="/files/P6eGpUHuzprkKv1xHHmK" alt=""><figcaption></figcaption></figure></div>
{% endstep %}

{% step %}

### API keys

Navigate to the tab labeled "API keys"

<figure><img src="/files/HlRAm6k28DnohjLxl47Q" alt=""><figcaption></figcaption></figure>
{% endstep %}

{% step %}

### Generate new key

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

<figure><img src="/files/dyKDbfnvfBpuXSC2nqmw" 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="/files/TiXMuh3zy8dYrfb5wLDj" 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 %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.datamidsouth.org/data-midsouth-portal/advanced-features/api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
