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

# Marketplace Publishing Quickstart

> Publish agents to the Swarms Marketplace quickly with required metadata and API key setup.

Publish your agents directly to the Swarms Marketplace with minimal configuration. Share your specialized agents with the community and monetize your creations.

## Overview

| Feature                   | Description                                |
| ------------------------- | ------------------------------------------ |
| **Direct Publishing**     | Publish agents with a single flag          |
| **Minimal Configuration** | Just add use cases, tags, and capabilities |
| **Automatic Integration** | Seamlessly integrates with marketplace API |
| **Monetization Ready**    | Set pricing for your agents                |

***

## Step 1: Get Your API Key

Before publishing, you need a Swarms API key:

1. Visit [swarms.world/platform/api-keys](https://swarms.world/platform/api-keys)
2. Create an account or sign in
3. Generate an API key
4. Set the environment variable:

```bash theme={null}
export SWARMS_API_KEY="your-api-key-here"
```

Or add to your `.env` file:

```
SWARMS_API_KEY=your-api-key-here
```

***

## Step 2: Configure Your Agent

Create an agent with publishing configuration:

```python theme={null}
from swarms import Agent

# Create your specialized agent
my_agent = Agent(
    agent_name="Market-Analysis-Agent",
    agent_description="Expert market analyst specializing in cryptocurrency and stock analysis",
    model_name="gpt-4o-mini",
    system_prompt="""You are an expert market analyst specializing in:
    - Cryptocurrency market analysis
    - Stock market trends
    - Risk assessment
    - Portfolio recommendations
    
    Provide data-driven insights with confidence levels.""",
    max_loops=1,
    
    # Publishing configuration
    publish_to_marketplace=True,
    
    # Required: Define use cases
    use_cases=[
        {
            "title": "Cryptocurrency Analysis",
            "description": "Analyze crypto market trends and provide investment insights"
        },
        {
            "title": "Stock Screening",
            "description": "Screen stocks based on technical and fundamental criteria"
        },
        {
            "title": "Portfolio Review",
            "description": "Review and optimize investment portfolios"
        }
    ],
    
)
```

***

## Step 3: Run to Publish

Simply run the agent to trigger publishing:

```python theme={null}
# Running the agent automatically publishes it
result = my_agent.run("Analyze Bitcoin's current market position")

print(result)
print("\n✅ Agent published to marketplace!")
```

***

## Complete Example

Here's a complete working example:

```python theme={null}
import os
from swarms import Agent

# Ensure API key is set
if not os.getenv("SWARMS_API_KEY"):
    raise ValueError("Please set SWARMS_API_KEY environment variable")

# Step 1: Create a specialized medical analysis agent
medical_agent = Agent(
    agent_name="Blood-Data-Analysis-Agent",
    agent_description="Explains and contextualizes common blood test panels with structured insights",
    model_name="gpt-4o-mini",
    max_loops=1,
    
    system_prompt="""You are a clinical laboratory data analyst assistant focused on hematology and basic metabolic panels.

Your goals:
1) Interpret common blood test panels (CBC, CMP/BMP, lipid panel, HbA1c, thyroid panels)
2) Provide structured findings: out-of-range markers, degree of deviation, clinical significance
3) Identify potential confounders (e.g., hemolysis, fasting status, medications)
4) Suggest safe, non-diagnostic next steps

Reliability and safety:
- This is not medical advice. Do not diagnose or treat.
- Use cautious language with confidence levels (low/medium/high)
- Highlight red-flag combinations that warrant urgent clinical evaluation""",

    # Step 2: Publishing configuration
    publish_to_marketplace=True,
    
    tags=["lab", "hematology", "metabolic", "education"],
    capabilities=[
        "panel-interpretation",
        "risk-flagging", 
        "guideline-citation"
    ],
    
    use_cases=[
        {
            "title": "Blood Analysis",
            "description": "Analyze blood samples and summarize notable findings."
        },
        {
            "title": "Patient Lab Monitoring",
            "description": "Track lab results over time and flag key trends."
        },
        {
            "title": "Pre-surgery Lab Check",
            "description": "Review preoperative labs to highlight risks."
        }
    ],
)

# Step 3: Run the agent (this publishes it to the marketplace)
result = medical_agent.run(
    task="Analyze this blood sample: Hematology and Basic Metabolic Panel"
)

print(result)
```

***

## Required Fields for Publishing

| Field                    | Type         | Description                                                  |
| ------------------------ | ------------ | ------------------------------------------------------------ |
| `publish_to_marketplace` | `bool`       | Set to `True` to enable publishing                           |
| `use_cases`              | `List[Dict]` | List of use case dictionaries with `title` and `description` |

### Use Case Format

```python theme={null}
use_cases = [
    {
        "title": "Use Case Title",
        "description": "Detailed description of what the agent does for this use case"
    },
    # Add more use cases...
]
```

***

## Optional: Programmatic Publishing

You can also publish prompts/agents directly using the utility function:

```python theme={null}
from swarms.utils.swarms_marketplace_utils import add_prompt_to_marketplace

response = add_prompt_to_marketplace(
    name="My Custom Agent",
    prompt="Your detailed system prompt here...",
    description="What this agent does",
    use_cases=[
        {"title": "Use Case 1", "description": "Description 1"},
        {"title": "Use Case 2", "description": "Description 2"}
    ],
    tags="tag1, tag2, tag3",
    category="research",
    is_free=True,          # Set to False for paid agents
    price_usd=0.0          # Set price if not free
)

print(response)
```

***

## Marketplace Categories

| Category     | Description                        |
| ------------ | ---------------------------------- |
| `research`   | Research and analysis agents       |
| `content`    | Content generation agents          |
| `coding`     | Programming and development agents |
| `finance`    | Financial analysis agents          |
| `healthcare` | Medical and health-related agents  |
| `education`  | Educational and tutoring agents    |
| `legal`      | Legal research and analysis agents |

***

## Best Practices

!!! tip "Publishing Best Practices"

* **Clear Descriptions**: Write detailed, accurate agent descriptions
* **Multiple Use Cases**: Provide 3-5 distinct use cases
* **Relevant Tags**: Use specific, searchable keywords
* **Test First**: Thoroughly test your agent before publishing
* **System Prompt Quality**: Ensure your system prompt is well-crafted

!!! warning "Important Notes"

* `use_cases` is **required** when `publish_to_marketplace=True`
* Both `tags` and `capabilities` should be provided for discoverability
* The agent must have a valid `SWARMS_API_KEY` set in the environment

***

***

## Next Steps

| Next Step                                                             | Description                                    |
| --------------------------------------------------------------------- | ---------------------------------------------- |
| [Swarms Marketplace](https://swarms.world)                            | Browse published agents                        |
| [Marketplace Documentation](../swarms_platform/share_and_discover.md) | Learn how to publish and discover agents       |
| [Monetization Options](../swarms_platform/monetize.md)                | Explore ways to monetize your agent            |
| [API Key Management](../swarms_platform/apikeys.md)                   | Manage your API keys for publishing and access |
