> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dappier.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Python SDK

The Dappier Python SDK provides a simple and efficient way to integrate Dappier's real-time data capabilities into your Python applications. With this SDK, you can easily access Dappier's AI models and data models to enhance your applications with live search, financial insights, and domain-specific content.

**GitHub Repository:** [Dappier Python SDK](https://github.com/DappierAI/dappier-py-sdk)

## Available Models

Dappier offers two categories of models that can be used within bolt.new applications:

* **Real-Time Search (AI Models)**: Perform live web and financial queries using natural language.
* **AI Recommendations (Data Models)**: Retrieve curated, vertical-specific content for domains like pets, lifestyle, and news.

All models are rights-cleared, production-ready, and accessible via the Dappier API.

***

### 🔎 Real-Time Search (AI Models)

| Model Name            | Description                                                                                | ai\_model\_id                   | Pricing         |
| --------------------- | ------------------------------------------------------------------------------------------ | ------------------------------- | --------------- |
| **Dappier Search**    | Real-time web search across the latest news, weather, travel, events, and more.            | `am_01j06ytn18ejftedz6dyhz2b15` | **Free**        |
| **Stock Market Data** | Live stock prices, earnings reports, financial news, and sentiment-tagged market insights. | `am_01j749h8pbf7ns8r1bq9s2evrh` | \$0.007 / query |

***

### 🤖 AI Recommendations (Data Models)

| Model Name         | Description                                                                                   | data\_model\_id                 | Pricing        |
| ------------------ | --------------------------------------------------------------------------------------------- | ------------------------------- | -------------- |
| **Sports News**    | Real-time sports headlines from Sportsnaut, LAFB Network, Ringside Intel, and more.           | `dm_01j0pb465keqmatq9k83dthx34` | \$0.50 / query |
| **Lifestyle News** | Pop culture, wellness, and trend articles from The Mix, Snipdaily, Nerdable, and Familyproof. | `dm_01j0q82s4bfjmsqkhs3ywm3x6y` | \$0.50 / query |
| **iHeartDogs AI**  | Dog training, grooming, health, and lifestyle content from iHeartDogs.                        | `dm_01j1sz8t3qe6v9g8ad102kvmqn` | \$0.01 / query |
| **iHeartCats AI**  | Cat care articles on behavior, health, and daily enrichment from iHeartCats.                  | `dm_01j1sza0h7ekhaecys2p3y0vmj` | \$0.01 / query |
| **GreenMonster**   | Sustainable living tips and eco-conscious guides from One Green Planet.                       | `dm_01j5xy9w5sf49bm6b1prm80m27` | \$0.01 / query |
| **WISH-TV AI**     | Local news, politics, multicultural content, and entertainment from the WISH-TV newsroom.     | `dm_01jagy9nqaeer9hxx8z1sk1jx6` | \$0.01 / query |

***

👉 To learn more about how these models work and how to query them, visit the official API reference:\
[https://docs.dappier.com/api-reference](https://docs.dappier.com/api-reference)

***

## Installation

Install the SDK using pip:

```bash theme={null}
pip install dappier
```

***

## Initialization

Set up your API key and initialize the SDK:

```python Python theme={null}
import os
from dappier import Dappier

# Set your API key as an environment variable
os.environ["DAPPIER_API_KEY"] = "<YOUR_API_KEY>"

# Initialize the Dappier SDK
app = Dappier()
```

Replace `<YOUR_API_KEY>` with your actual API key, which you can get from your [Dappier Account](https://platform.dappier.com/profile/api-keys).

***

## Real-Time Search

Perform a real-time search for live data:

```python Python theme={null}
response = app.search_real_time_data(
    query="What is the stock price of Apple?",
    ai_model_id="am_01j06ytn18ejftedz6dyhz2b15"
)
```

## Parameters (Real Time Search)

### `query` (string):

* A natural language query representing the information being searched for in real time.

### `ai_model_id` (string):

* The ID of the AI model to be used for real-time data search.
* This must be a valid model ID from the [Dappier Marketplace](https://marketplace.dappier.com/).

***

## AI Recommendations

Retrieve AI-powered content recommendations based on a query:

```python Python theme={null}
response = app.get_ai_recommendations(
    query="latest trending news",
    data_model_id="dm_01jagy9nqaeer9hxx8z1sk1jx6",
    similarity_top_k=5,
    ref="techcrunch.com",
    num_articles_ref=2,
    search_algorithm="most_recent"
)
```

## Parameters (AI Recommendations)

### `query` (string):

* A natural language query or URL.

### `data_model_id` (string):

* The ID of the data model to be used for recommendations.
* This must be a valid model ID from the [Dappier Marketplace](https://marketplace.dappier.com/).

### `similarity_top_k` (integer):

* The number of articles to return (default is 9).

### `ref` (string):

* The domain of the site from which the recommendations should come.
* Example: `techcrunch.com`.

### `num_articles_ref` (integer):

* Specifies how many articles should be guaranteed to match the domain specified in `ref`.
* Use this to ensure a set number of articles from the desired domain appear in the results.

### `search_algorithm` (string):

* Options: `"most_recent"` or `"semantic"`.
* `"semantic"` (default): Contextual matching of the query to retrieve articles.
* `"most_recent"`: Retrieves articles sorted by the most recent publication date.

You can select a specific Data model from the [Dappier Marketplace](https://marketplace.dappier.com/).

***

## Async Functionality

Dappier SDK supports asynchronous operations for better performance.

### Async Real Time Search:

```python Python theme={null}
import asyncio
from dappier import DappierAsync

async def fetch_real_time_data(query):
    dp_client = DappierAsync(api_key=os.environ["DAPPIER_API_KEY"])
    async with dp_client as client:
        response = await client.search_real_time_data_async(
            query=query,
            ai_model_id="am_01j06ytn18ejftedz6dyhz2b15"
        )

        if response is None:
            raise Exception("An error occurred while retrieving the response.")
        return response.message

query = "What is the stock price of Apple?"
result = asyncio.run(fetch_real_time_data(query))
print(result)
```

## Parameters (Real Time Search)

### `query` (string):

* A natural language query representing the information being searched for in real time.

### `ai_model_id` (string):

* The ID of the AI model to be used for real-time data search.
* This must be a valid model ID from the [Dappier Marketplace](https://marketplace.dappier.com/).

***

### Async AI Recommendations:

```python Python theme={null}
import asyncio
from dappier import DappierAsync

async def fetch_ai_recommendations(query):
    dp_client = DappierAsync(api_key=os.environ["DAPPIER_API_KEY"])
    async with dp_client as client:
        response = await client.get_ai_recommendations_async(
            query=query,
            data_model_id="dm_01jagy9nqaeer9hxx8z1sk1jx6",
            similarity_top_k=5,
            ref="techcrunch.com",
            num_articles_ref=2,
            search_algorithm="most_recent"
        )

        if response is None or response.status != "success":
            raise Exception("An error occurred while retrieving the response.")

        return response.results

query = "latest trending news"
result = asyncio.run(fetch_ai_recommendations(query))
print(result)
```

You can select a specific Data model from the [Dappier Marketplace](https://marketplace.dappier.com/).

The async SDK version improves performance, especially for large-scale requests.

## Parameters (AI Recommendations)

### `query` (string):

* A natural language query or URL.

### `data_model_id` (string):

* The ID of the data model to be used for recommendations.
* This must be a valid model ID from the [Dappier Marketplace](https://marketplace.dappier.com/).

### `similarity_top_k` (integer):

* The number of articles to return (default is 9).

### `ref` (string):

* The domain of the site from which the recommendations should come.
* Example: `techcrunch.com`.

### `num_articles_ref` (integer):

* Specifies how many articles should be guaranteed to match the domain specified in `ref`.
* Use this to ensure a set number of articles from the desired domain appear in the results.

### `search_algorithm` (string):

* Options: `"most_recent"` or `"semantic"`.
* `"semantic"` (default): Contextual matching of the query to retrieve articles.
* `"most_recent"`: Retrieves articles sorted by the most recent publication date.
