The Broadstreet integration connects the Prebid Sales Agent to the Broadstreet ad serving platform. Broadstreet is purpose-built for local and community publishers, offering a simplified ad management experience tailored to direct-sold display advertising.
The adapter is identified by adapter_name: "broadstreet" and is implemented as a multi-module package under src/adapters/broadstreet/.
The Broadstreet adapter is in design phase and not yet production-ready. The module structure and API client exist but the integration has not been validated against a live Broadstreet account. Use the Mock Adapter for testing until this adapter reaches production status.
Before configuring the Broadstreet integration, ensure you have:
The Broadstreet adapter is configured through the Admin UI. Navigate to Settings > Ad Server and select Broadstreet as the adapter type.
Enter your Broadstreet API credentials and network configuration in the adapter config JSONB field. The exact settings required are defined by the adapter’s config_schema.py module, which validates the configuration on save.
The Broadstreet adapter follows a modular architecture similar to the GAM adapter, with separate components for different responsibilities:
| Module | File | Responsibility |
|---|---|---|
| Adapter | adapter.py |
Main Broadstreet(AdServerAdapter) implementation |
| API Client | client.py |
HTTP client for the Broadstreet API |
| Config Schema | config_schema.py |
Pydantic validation for adapter configuration |
| Schemas | schemas.py |
Broadstreet-specific data models and type definitions |
| Managers | managers/ |
Specialized managers for inventory and other operations |
create_media_buy).client.py to make API calls to Broadstreet.schemas.py models and returned to the business logic layer.The Broadstreet adapter is optimized for the direct-sold advertising workflow that local publishers use:
| Capability | Supported | Notes |
|---|---|---|
| Display Advertising | Yes | Standard banner and display ad formats |
| Zone Targeting | Yes | Target Broadstreet ad zones |
| Geo Targeting | Limited | Basic geographic targeting |
| Inventory Sync | No | Inventory managed in Broadstreet |
| Inventory Profiles | No | Not applicable |
| Custom Targeting | Limited | Zone-based targeting |
| Dynamic Products | No | Products statically configured |
| Frequency Capping | No | Not supported by the adapter |
| Webhooks | No | Use polling for delivery data |
Broadstreet is widely used by local news organizations that sell advertising directly to local businesses. The Sales Agent integration allows these publishers to:
Community-focused media outlets (neighborhood blogs, hyperlocal news, community radio websites) benefit from Broadstreet’s simplicity. The Sales Agent adapter enables:
Publishers in niche verticals (e.g., local sports, community events, regional business news) that use Broadstreet for its ease of management can extend their reach through the Sales Agent.
| Area | Limitation |
|---|---|
| Channels | Display only (no video, audio, or native) |
| Targeting | Zone-based and basic geo; no audience or contextual targeting |
| Scale | Designed for small to mid-size publishers; not intended for high-volume programmatic |
| Frequency Capping | Not supported |
| Inventory Sync | Not supported — inventory managed in Broadstreet |
| Inventory Profiles | Not supported |
| Dynamic Products | Not supported |
| Reporting | Basic delivery metrics (impressions, clicks) |
| Error | Cause | Resolution |
|---|---|---|
AuthenticationError |
Invalid API credentials | Verify API credentials in Admin UI adapter config |
ConfigValidationError |
Invalid adapter configuration | Check that all required fields defined in config_schema.py are present |
ZoneNotFound |
Referenced zone does not exist in Broadstreet | Verify zone IDs in product configuration match zones in your Broadstreet account |
CreativeUploadFailed |
Creative asset rejected | Ensure creative dimensions and file format are supported by Broadstreet |
get_adcp_capabilities through the MCP/A2A/REST interface.