# Default Marketplace JSON File in OpenAI Plugins: Location and Structure

> Discover the default marketplace JSON file for OpenAI plugins. Learn its location in the openai/plugins repo and understand its structure for plugin details, authentication, and categories.

- Repository: [OpenAI/plugins](https://github.com/openai/plugins)
- Tags: api-reference
- Published: 2026-09-11

---

**The default marketplace JSON file is located at [`.agents/plugins/marketplace.json`](https://github.com/openai/plugins/blob/main/.agents/plugins/marketplace.json) relative to the repository root, and it enumerates the OpenAI-curated plugins bundled with the platform, specifying each plugin's source path, installation policy, authentication method, and category.**

The OpenAI plugins repository relies on a centralized configuration to manage its built-in marketplace offerings. The **default marketplace JSON file** serves as the primary source of truth for which plugins appear when the platform initializes, defining the curated set available to users out-of-the-box. Developers extending the platform or analyzing the plugin ecosystem must understand this file's schema and runtime behavior.

## Where Is the Default Marketplace JSON File Located?

The repository stores its default marketplace definition at a specific path relative to the project root:

- **Primary location:** [`.agents/plugins/marketplace.json`](https://github.com/openai/plugins/blob/main/.agents/plugins/marketplace.json)
- **Repository reference:** The top-level [`README.md`](https://github.com/openai/plugins/blob/main/README.md) explicitly mentions this path around line 10, confirming its role as the canonical marketplace definition.

This file is loaded by the plugin discovery system at runtime to determine which plugins are available for installation and how they should be categorized.

## Structure of the Default Marketplace JSON File

The JSON schema follows a hierarchical structure that separates marketplace metadata from individual plugin descriptors.

### Top-Level Metadata

The root object contains identifying information for the marketplace itself:

- **`name`**: The internal identifier (`"openai-curated"`)
- **`interface.displayName`**: The human-readable label shown to users (`"Codex official"`)

### Plugin Descriptors

The **`plugins`** array contains objects that define individual plugins with the following fields:

- **`name`**: The short identifier (e.g., `"linear"`, `"slack"`)
- **`source`**: Indicates a local source type with a filesystem path relative to the marketplace file (e.g., `"./plugins/slack"`)
- **`policy`**: Defines installation availability (`"AVAILABLE"`) and authentication timing (`"ON_INSTALL"`)
- **`category`**: Logical grouping for UI organization (e.g., `"Productivity"`, `"Communication"`)

## Loading the Default Marketplace JSON File Programmatically

You can parse the **default marketplace JSON file** using standard filesystem operations in any language. Below are reference implementations for common environments.

### Node.js Implementation

```javascript
import fs from 'fs';
import path from 'path';

const marketplacePath = path.resolve(__dirname, '..', '.agents', 'plugins', 'marketplace.json');
const marketplace = JSON.parse(fs.readFileSync(marketplacePath, 'utf8'));

console.log('Marketplace name:', marketplace.name);
console.log('Available plugins:', marketplace.plugins.map(p => p.name));

```

### Python Implementation

```python
import json
from pathlib import Path

marketplace_file = Path(__file__).parent.parent / ".agents" / "plugins" / "marketplace.json"
with marketplace_file.open() as f:
    data = json.load(f)

slack_cfg = next(p for p in data["plugins"] if p["name"] == "slack")
print("Slack source path:", slack_cfg["source"]["path"])
print("Slack category:", slack_cfg["category"])

```

### Shell Script with jq

```bash
#!/usr/bin/env bash
file=".agents/plugins/marketplace.json"
plugins=$(jq -r '.plugins[].name' "$file")
echo "Plugins in the default marketplace:"
echo "$plugins"

```

## Alternative Marketplace Configurations

While [`.agents/plugins/marketplace.json`](https://github.com/openai/plugins/blob/main/.agents/plugins/marketplace.json) defines the standard curated set, the repository includes an alternative configuration for specialized deployments:

- **[`.agents/plugins/api_marketplace.json`](https://github.com/openai/plugins/blob/main/.agents/plugins/api_marketplace.json)**: Used for API-only scenarios where the full plugin set is not required, offering a reduced or modified marketplace tailored for programmatic access.

Both files follow the same schema structure but contain different plugin enumerations based on the deployment context.

## Summary

- The **default marketplace JSON file** resides at [`.agents/plugins/marketplace.json`](https://github.com/openai/plugins/blob/main/.agents/plugins/marketplace.json) and acts as the source of truth for the OpenAI-curated plugin set.
- It defines marketplace metadata (`name`, `displayName`) and an array of plugin descriptors specifying source paths, installation policies, and categories.
- The plugin loader references this file at runtime to discover available plugins and enforce defined policies like authentication modes.
- Alternative configurations such as [`api_marketplace.json`](https://github.com/openai/plugins/blob/main/api_marketplace.json) exist for specific deployment scenarios.
- You can parse the file using standard JSON libraries in Node.js, Python, or shell scripts using `jq`.

## Frequently Asked Questions

### What is the exact path to the default marketplace JSON file in the OpenAI plugins repository?

The file is located at [`.agents/plugins/marketplace.json`](https://github.com/openai/plugins/blob/main/.agents/plugins/marketplace.json) relative to the repository root. This path is hardcoded in the plugin discovery logic and referenced in the repository's [`README.md`](https://github.com/openai/plugins/blob/main/README.md) documentation.

### What information does the default marketplace JSON file contain?

The file contains the marketplace identifier (`openai-curated`), a human-readable display name (`Codex official`), and a `plugins` array. Each plugin entry specifies its name, local source path (`./plugins/<name>`), installation policy (`AVAILABLE`), authentication timing (`ON_INSTALL`), and category grouping.

### How does the plugin loader use the default marketplace JSON file at runtime?

The loader reads this JSON file during platform initialization to build the list of available plugins. It uses the `source.path` field to locate plugin code on the filesystem and applies the `policy` rules to determine whether a plugin can be installed and when authentication should occur.

### What is the difference between marketplace.json and api_marketplace.json?

The [`marketplace.json`](https://github.com/openai/plugins/blob/main/marketplace.json) file defines the full OpenAI-curated marketplace intended for general use, while [`api_marketplace.json`](https://github.com/openai/plugins/blob/main/api_marketplace.json) provides an alternative configuration optimized for API-only scenarios. Both files share the same schema but contain different plugin sets tailored to their specific use cases.