Developer Documentation
Bridgewise Integration Guide
Complete guide to integrating Bridgewise APIs and Widgets into your applications. Learn authentication, identifier conversion, API consumption patterns, and widget embedding.
≡ Contents
- → Introduction & Overview
- → Authentication (M2M)
- → Identifier Conversion
- → API Consumption Model
- → Widget Integration
- → Error Handling & Best Practices
◎ Introduction
Welcome to the Bridgewise API and Widget Integration Guide. This comprehensive documentation is designed for developers who seek to seamlessly integrate Bridgewise financial services into their applications. Our aim is to equip you with all the necessary information to effectively interact with our APIs and embed our widgets, enabling you to harness a wealth of financial data and AI-driven insights with ease.
What You'll Learn
How to obtain and manage Machine-to-Machine access tokens for secure API and widget access
Converting global identifiers (ISIN, Ticker-Exchange) to Bridgewise internal IDs
Understanding on-demand compute patterns, caching strategies, and performance optimization
Integrating Bridgewise widgets into web and mobile applications via iframe
➜ Overview: The Bridgewise Platform
The Bridgewise API stands out as a leading interface to a vast expanse of global financial information, covering nearly all publicly traded companies and ETFs worldwide. Built on a RESTful architecture, the platform ensures smooth integration and compatibility with modern development practices.
Platform Capabilities
Access comprehensive financial data including fundamentals, market data, technical indicators, and historical price series across global markets.
Leverage proprietary AI models that analyze market conditions, company fundamentals, and sentiment to provide actionable investment recommendations.
Get AI-generated narratives, summaries, and insights available in multiple native languages (en-US, ja-JP, and more) for global deployment.
The Bridgewise platform provides data and insights for tens of thousands of publicly traded companies and ETFs across major global exchanges, including NYSE, NASDAQ, LSE, TSE, HKEX, and many more.
High-Level Integration Journey
Understanding the end-to-end integration flow will help you plan your implementation effectively. Here's the complete journey from initial setup to production deployment:
Contact Bridgewise support to receive your Application Client ID and Secret Key. These credentials are unique to your organization and grant access to licensed services.
support@bridgewise.comYour backend service calls the Bridgewise authentication endpoint with your credentials to receive an Access Token. This token is valid for 24 hours and should be securely stored and reused across all API and widget requests.
Use the identifier-search endpoint to convert your existing identifiers (ISIN or Ticker-Exchange) into Bridgewise internal IDs (company_id, trading_item_id).
Make API calls using your access token and Bridgewise IDs. Follow the on-demand consumption model—request data exactly when needed (user interaction, page load) to leverage CloudFront caching for optimal performance.
For UI components, embed Bridgewise widgets using iframes. Pass the access token and required parameters via URL. Widgets handle data fetching, theming, and send events back to your application via postMessage.
Implement error handling for authentication failures (401/403), network issues, and rate limits. Log events, refresh tokens when needed, and provide graceful fallbacks for end users.
Before proceeding with this guide, ensure you have received your Application Client ID and Secret Key from Bridgewise. If you haven't received these credentials, contact our support team at support@bridgewise.com.
Part 1: Authentication (Machine-to-Machine)
Authentication is the foundation of secure access to Bridgewise services. This section walks you through the Machine-to-Machine (M2M) authentication process, which is essential for protecting the security and integrity of your organization's data and ensuring safe access to Bridgewise APIs and Widgets.
What is M2M Authentication?
Machine-to-Machine (M2M) tokens allow secure communication between services or applications without user involvement. Unlike user authentication, M2M authentication represents the identity of an application rather than an individual user.
1 Step 1: Obtain Your Credentials
To begin the authentication process, you need valid credentials from Bridgewise. These credentials are unique to your organization and grant access only to the services you are licensed for.
Required Credentials
application_client_idYour unique application identifier. This ID represents your organization and determines which Bridgewise services you can access.
secretYour secret key for secure authentication. This should be stored securely and never exposed in client-side code or version control systems.
- Never expose credentials in frontend code — Always handle authentication server-side
- Store credentials securely — Use environment variables or secure vault services
- Rotate credentials periodically — Contact support if credentials are compromised
- Don't commit to version control — Add credential files to .gitignore
If you have not received your Application Client ID and Secret Key, please contact our support team at support@bridgewise.com. Our team will verify your organization's license and provide the necessary credentials.
2 Step 2: Request an Access Token
Once you have your credentials, the next step is to exchange them for an Access Token. This token grants your application secure access to Bridgewise services for 24 hours.
Authentication Endpoint
This endpoint is available in any Bridgewise product Swagger documentation. For example: StockWise API Documentation.
- Tokens work with APIs and Widgets — Use the same token for both API calls and widget embedding
- Tokens expire after 24 hours — You must request a new token daily
- Store tokens securely server-side — Reuse the same token across multiple requests
- Implement refresh logic — Automatically request a new token when receiving 401/403 errors
- License-based access — Tokens grant access only to services your organization is licensed for
Understanding Token Scoping
Access tokens are tied to your Application Client ID and grant access only to the services your organization is licensed for. This means:
▲ Common Error Codes & Messages
Understanding error responses helps you implement robust error handling and provide better user experiences. Here are the common authentication errors you may encounter:
3 Step 3: Using Your Access Token
Once you have obtained an access token, you can use it to authenticate both API requests and widget integrations. The token is passed differently depending on whether you're making API calls or embedding widgets.
Using Tokens with API Requests
For API requests, include the access token in the Authorization header using the Bearer authentication scheme:
- Use
Bearerprefix before the token - Include the token in every API request
- Store the token securely server-side and reuse it for 24 hours
- Implement automatic token refresh when you receive 401/403 errors
Using Tokens with Widgets
For widget embedding, pass the access token as the accessToken URL parameter in the iframe source:
Keep your access token server-side whenever possible. If you must expose it in a client context (e.g., for widget embedding), ensure you refresh it daily and limit the scope of what the token can access. Never expose your Client ID and Secret on the client side.
Token Management Best Practices
Implement a scheduled job to refresh tokens every 24 hours, or immediately when authentication errors occur.
Store tokens in secure backend storage (environment variables, key vaults) never in frontend code or version control.
One token per 24 hours is sufficient. Reuse the same token across all requests rather than requesting new tokens for each call.
Log authentication events, track token refresh cycles, and monitor for repeated authentication failures.
↻ Part 2: Identifier Conversion
All identifiers within the Bridgewise API are internal, but the platform seamlessly supports conversion from globally recognized identifiers such as ISIN and Ticker-Exchange. This section explains how to convert your existing identifiers into Bridgewise's internal system, which is essential for all subsequent API calls.
Converting identifiers using the identifier-search endpoint is mandatory before you can use any other Bridgewise API endpoints. Nearly every API endpoint requires either a company_id or trading_item_id, which you obtain through identifier conversion.
Why Identifier Conversion Matters
The company_id returned by identifier-search is used in nearly all Bridgewise API endpoints for retrieving company data, recommendations, fundamentals, news, and more.
Convert from industry-standard identifiers (ISIN, Ticker-Exchange) that your systems already use, making integration seamless without needing to rebuild your data infrastructure.
Bridgewise internal IDs provide a unified reference that works across all products (StockWise, FundWise, ETFWise, etc.) regardless of how a security trades on different exchanges.
? Understanding the Identifier Hierarchy
Bridgewise uses a three-tier identifier hierarchy. Understanding this structure is crucial for making effective API calls:
company_idThe internal Bridgewise identifier for the company entity. This is the primary identifier used for most API endpoints.
- Company metadata & profile information
- Financial fundamentals (income statement, balance sheet, cash flow)
- AI recommendations and insights
- Corporate actions and news
security_idIdentifies a specific security type issued by the company (e.g., Common Stock, Preferred Stock, Class A shares).
The security_id is NOT used in Bridgewise API calls. It's provided for informational purposes but is not required for any endpoints.
trading_item_idIdentifies a specific tradable listing (Ticker + Exchange combination). A company/security may have multiple listings across different exchanges.
- Price series and historical market data
- Technical indicators (RSI, MACD, etc.)
- Exchange-specific information
Use company_id for most company-level endpoints (fundamentals, recommendations, profile).
Use trading_item_id when you need exchange-specific data (price series, technical indicators).
⇄ The identifier-search Endpoint
The identifier-search endpoint is your entry point for converting external identifiers into Bridgewise internal IDs. This endpoint accepts both ISIN and Ticker-Exchange formats.
Endpoint Information
Request Parameters
identifier_type REQUIREDSpecifies the format of the identifier you are sending. This tells Bridgewise how to interpret your input.
ticker_exchange For Ticker-Exchange combinations (e.g., AAPL-NASDAQ)isin For International Securities Identification Numbersidentifier REQUIREDThe actual global identifier you want to convert into Bridgewise internal IDs.
TSLA-NASDAQ Ticker-Exchange formatUS0378331005 ISIN format1 Example 1: Converting Tesla (Ticker-Exchange)
In this example, we submit the Tesla stock symbol to the identifier-search endpoint using the ticker_exchange format.
2 Example 2: Converting Apple (ISIN)
If your system uses ISINs, you can convert them just as easily by setting identifier_type=isin.
The response structure for ISIN queries is exactly the same as ticker_exchange queries. You will still receive company_id, and may get multiple listings under trading_item_ids if the security trades on multiple exchanges.
▦ Understanding Multiple Listings
Some companies have securities that trade on multiple exchanges or have multiple security types (Common Stock, Preferred Stock, etc.). Understanding how to handle these scenarios is important for proper implementation.
Real-World Example: Tesla's Multiple Listings
Tesla's stock, for example, trades on 7 different exchanges with 4 different ISINs. However, all these listings are unified under a single company_id.
company_id: 27444752trading_item_id_primary_flag: true)- All listings share the same company_id (27444752)
- Multiple security types can exist (Common Stock, ADR, Receipt)
- One security type is marked as primary (
security_primary_flag: true) - One trading item per security is marked as primary (
trading_item_id_primary_flag: true) - Use the primary flags to select the main listing when multiple exist
How to Handle Multiple Results
Use the company_id directly. It doesn't matter which listing returned it—all listings for the same company share the same company_id.
When you need a trading_item_id and multiple are returned:
- Preferred approach: Use the listing where
trading_item_id_primary_flag: true - Alternative: Filter by exchange based on your requirements (e.g., prefer US exchanges over international)
- Advanced: Use
exchange_importance_levelto rank exchanges (higher = more important)
↓ Example: Retrieving Company Data
Once you have obtained a company_id from identifier-search, you can use it to query any company-level endpoint in the Bridgewise API.
Example: Get Company Metadata
Using Tesla's company_id (27444752), we can retrieve comprehensive company information:
Many Bridgewise endpoints return textual insights and AI-generated content that are localized. Always include the language parameter (e.g., en-US, ja-JP, de-DE) to receive content in your desired language.
⚡ Part 3: API Consumption Model
Understanding how to properly consume the Bridgewise API is critical for achieving optimal performance, scalability, and cost-efficiency. Bridgewise APIs are designed to operate in an on-demand (compute-on-request) model, which delivers significant advantages over traditional offline processing approaches.
What is On-Demand Consumption?
On-demand consumption means requesting data exactly when it is needed—triggered by user interaction, page load, or workflow events—rather than precomputing and storing results in advance.
- User opens a stock detail page → API fetches company data in real-time
- User searches for a ticker → API converts identifier and returns results
- Portfolio rebalancing tool runs → API fetches current recommendations
- Widget loads in browser → Widget calls API with current access token
Bridgewise APIs should not be used for offline processing workflows where results are calculated in advance, stored, and then served from your own database. This pattern defeats the purpose of the on-demand model and prevents you from leveraging Bridgewise's caching infrastructure.
Why On-Demand is Superior
Better Performance & Lower Latency
You fetch only what is needed, when it is needed. By leveraging Bridgewise's caching mechanisms (CloudFront CDN), responses are significantly faster and more efficient.
Avoids traffic spikes caused by heavy offline batch recalculations. Load is distributed naturally based on actual user demand.
Results reflect real-time calculations rather than potentially stale stored snapshots. Users always get the latest insights.
Aligns naturally with CDN caching and distributed compute models. No need to build complex offline processing infrastructure.
Reduces compute costs by eliminating the need for continuous background processing and large-scale data storage.
Offline processing refers to a model where:
- Results are calculated ahead of time (batch jobs, scheduled tasks)
- Computed data is stored in your own database
- When users request data, it's served from your stored copies
- Computation happens in advance rather than at request time
This model is the opposite of compute-on-request and does not align with the intended usage pattern of Bridgewise APIs. It bypasses caching benefits, increases latency, and requires you to maintain complex data pipelines.
✓ Quick Implementation Checklist
B2B API Integration Flow
For B2B partners who integrate Bridgewise API into their own platforms, the integration follows a secure, token-based model where the partner acts as the trusted intermediary between their end-customers and Bridgewise.
How It Works
The flow is straightforward:
user_id must be provided.- Bridgewise interaction with customers is only in the credentials creation or permissions changes.
- All customer authentication is handled entirely by the Partner.
- Bridgewise only trusts and communicates with the Partner as an authorized intermediary.
In short: Customers log in to the Partner platform, and the Partner securely connects to Bridgewise using a customer-specific token.
B2B Integration Architecture
Token
Token
- Requested per customer by the Partner (not specific to an end-user session)
- Bridgewise does not know or interact with the Partner’s end-customers directly
- Shared between instances of the Partner’s Web API for the same customer
◆ Part 4: Widget Integration (Optional)
In addition to direct API access, Bridgewise offers pre-built UI widgets that you can embed in your web or mobile applications. Widgets provide a complete user interface with data fetching, theming, and interactivity built-in, requiring minimal integration effort on your side.
Widget integration has its own comprehensive documentation. This guide provides a high-level overview. For detailed widget implementation, including specific widget types, parameters, events, and advanced features, please refer to the Widget Integration Guide in the support portal.
What are Bridgewise Widgets?
Bridgewise widgets are iframe-based embeddable UI components that provide rich financial interfaces without requiring you to build complex frontend experiences from scratch.
Interactive chat widgets powered by Bridget AI that can answer financial questions, provide recommendations, and guide users.
Pre-built charts, tables, and visual components displaying company data, fundamentals, price history, and more.
Compact widgets showing AI-driven buy/sell/hold recommendations with supporting insights and confidence levels.
Search interfaces and teasers that help users discover and explore financial instruments.
How Widget Integration Works
Widgets are embedded using HTML <iframe> elements. The widget URL contains all necessary parameters including your access token, language preferences, and widget-specific configuration.
en-US Language code (en-US, ja-JP, de-DE, etc.)TENANT_NAME Your organization's tenant identifierWIDGET_NAME Specific widget type (bridget-chat, bridget-teaser, etc.)ACCESS_TOKEN Your M2M access token from authenticationIDENTIFIER Company identifier, ticker, or other context (widget-specific)Widget Communication & Events
Widgets communicate with your application via the browser's postMessage API. This enables bidirectional communication for events like:
For complete event schemas, JavaScript listener examples, and advanced widget configuration, refer to the dedicated Bridget Widget Integration Guide.
? Support & Contact
For technical questions, credential requests, or integration assistance
support@bridgewise.comBrowse articles, submit tickets, and access additional documentation
support.bridgewise.comYou're Ready to Integrate!
You now have a comprehensive understanding of the Bridgewise integration journey. Let's recap the key steps:
Request M2M access token using your Client ID and Secret
Use identifier-search to get company_id and trading_item_id
Make on-demand requests leveraging CloudFront caching
Add pre-built UI components via iframe integration
- Test authentication flow in your development environment
- Convert a few sample identifiers using identifier-search
- Explore the Swagger documentation and try live endpoints
- Review the specific widget documentation if embedding UI components
- Contact support if you need help validating your requests or mapping identifiers

Need Help Getting Started?
If you need help validating your requests, mapping identifiers, or troubleshooting integration issues, our support team is here to assist. Share a sample identifier and the endpoint you're calling, and we'll help you quickly.
Bridgewise Integration Guide • Last Updated: February 2025
For the latest version of this guide, visit the Bridgewise Support Portal