Welcome to the Bombora Developer Portal
\n\n Integrate your apps with Bombora’s Company Surge® data trusted by\n respected partners and brands.\n
\n\n\n Your Account currently does not have App Key access. Please\n contact your customer success representative or\n contact us\n to receive access.\n
\n\n Contact Us\n\n Get started with Bombora's DAB API by creating your DAB API app\n key.\n
\n\n\n
\n Manage your App Keys and create apps powered by Bombora Company Surge®\n data.\n
\n\n\n Your Account currently does not have App Key access. Please contact\n your customer success representative or\n contact us\n to receive access.\n
\n\n Contact Us\n\n Your Account currently does not have App Key access. Please contact\n your customer success representative or\n contact us\n to receive access.\n
\n\n Contact Us\n\n Please contact your customer success representative or\n contact us.\n
\n Contact Us\n\n The Digital Audience Builder (DAB) API provides customers the ability to\n programmatically create and edit custom audiences.\n
\n\n\n Jump to:\n
\n Jump to:\n
The Activate endpoint allows users to activate an existing suspended Digital Audience.
\n\nNote: The Last Modified By column for the Digital Audience will be set as DAB API.
\n\n\n PUT\n /digital-audiences/v1/[dataexchange]/[externalId]/[partnerId]/activate
\n
[partnerId] required for Adobe, Xandr (Appnexus), and theTradeDesk
\n\n The Create endpoint allows customers to generate a new DAB custom\n audience.\n
\nNote: The Last Modified By column for the Digital Audience will be set as DAB API.
\n\n\n POST\n /digital-audiences/v1/[dataexchange]
\n
\n The request body includes the following data in a form-data\n structure:\n
\n\n* requires at least one of these fields
\ncurl --location --request POST 'https://api.bombora.com/digital-audiences/v1/adobe' \\\n --header 'Content-Type: application/json' \\\n --data-raw '{\n \"partnerId\":\"123\",\n \"externalId\": \"testaudience123\",\n \"name\": \"My Test Audience\",\n \"endDate\": \"2021-12-23T19:53:35.984Z\",\n \"topics\": [ \"1503561\", \"1503565\" ],\n \"filterOr\": false,\n \"domains\": [ \"bombora.com\", \"spotify.com\" ],\n \"entityParty\": \"3\",\n \"filters\": [\n { \"id\": \"ccm_industry\", \"values\": [ \"Software\" ] },\n { \"id\": \"functional_area\", \"values\": [ \"Marketing\" ] }\n ]\n }'
\n { \"message\": \"Given External Id is already in use. Please retry with a new External Id.\" }
\n {\n \"errors\": {\n \"cpmPrice\": [ \"CPM price 0.25 provided is not supported for eyeota.\" ],\n \"externalId\": [ \"External id containing only numbers, letters, - or _ expected for creating eyeota digital audience.\" ]\n },\n \"message\": \"One or more validation errors occurred.\"\n}
\n \n The Edit endpoint allows customers to modify an existing DAB custom\n audience. This endpoint is a full overwrite of the existing custom\n audience settings.\n
\nNote: The Last Modified By column for the Digital Audience will be set as DAB API.
\n\n/digital-audiences/v1/[dataexchange]/[externalId]/[partnerId]
\n [partnerId] required for Adobe, Xandr (Appnexus), and theTradeDesk
\n* requires at least one of these fields
\ncurl --location --request PUT 'https://api.bombora.com/digital-audiences/v1/adobe/testaudience123/123' \\\n --header 'Content-Type: application/json' \\\n --data-raw '{\n \"name\": \"My Test Audience\",\n \"endDate\": \"2021-12-27T19:53:35.984Z\",\n \"topics\": [ \"1503561\" ],\n \"filterOr\": false,\n \"domains\": [ \"bombora.com\", \"spotify.com\" ],\n \"entityParty\": \"3\",\n \"filters\": [\n { \"id\": \"ccm_industry\", \"values\": [ \"Software\" ] },\n { \"id\": \"functional_area\", \"values\": [ \"Marketing\" ] }\n ]\n }'
\n {\n \"errors\": {\n \"filters\": [ \"Filters are expected to have both an id and a list of values.\" ]\n },\n \"message\": \"One or more validation errors occurred.\"\n}
\n \n The Estimate endpoint allows customers to estimate the size of an\n audience.\n
\n\n/digital-audiences/v1/[dataexchange]/estimate
\n \n The request body includes the following data in a form-data\n structure:\n
\n* requires either domains, topics or filters
\ncurl --location --request POST 'https://api.bombora.com/digital-audiences/v1/adobe/estimate' \\\n --header 'Content-Type: application/json' \\\n --data-raw '{\n \"topics\": [ \"1503561\", \"1503565\" ],\n \"filterOr\": false,\n \"domains\": [ \"www.bombora.com\", \"www.spotify.com\" ],\n \"entityParty\": \"3\",\n \"filters\": [\n { \"id\": \"ccm_industry\", \"values\": [ \"Agriculture\" ] },\n { \"id\": \"functional_area\", \"values\": [ \"Building & Grounds Maintenance\" ] }\n ]\n }'
\n {\n \"count\": 3904\n}
\n {\n \"errors\": {\n \"granularInstallData\": [ \"Invalid ids: 23\" ]\n },\n \"message\": \"One or more validation errors occurred.\"\n}
\n The Get endpoint allows users to retrieve an existing Digital Audience.
\n\n/digital-audiences/v1/[dataexchange]/[externalId]/[partnerId]
\n [partnerId] required for Adobe, Xandr (Appnexus), and theTradeDesk
\n{\n \"externalId\": \"audience123\",\n \"partnerId\": \"123\",\n \"name\": \"Example Audience\",\n \"endDate\": \"2021-12-23T19:53:35.984Z\",\n \"filterOr\": false,\n \"topics\": [\"topic1\", \"topic2\"],\n \"domains\": [\"url1.com\", \"url2.com\"],\n \"entityParty\": \"3\",\n \"surgeId\": \"123\",\n \"cpmPrice\": \"1.00\",\n \"filters\": [\n {\"id\": \"filter1\", \"values\": [\"value1\"]},\n {\"id\": \"filter2\", \"values\": [\"value2\"]}\n ],\n \"granularInstallData\": [\"10000\", \"10001\", \"10002\"],\n \"manufacturingData\": [\"200000\", \"200001\", \"200002\"],\n \"status\": \"ACTIVE\"\n}
\n \n The Delete endpoint allows users to delete an existing Digital\n Audience.\n
\n\n/digital-audiences/v1/[dataexchange]/[externalId]/[partnerId]
\n [partnerId] required for Adobe, Xandr (Appnexus), and theTradeDesk
\n\n The Suspend endpoint allows users to suspend an existing Digital\n Audience.\n
\nNote: The Last Modified By column for the Digital Audience will be set as DAB API.
\n\n/digital-audiences/v1/[dataexchange]/[externalId]/[partnerId]/suspend
\n [partnerId] required for Adobe, Xandr (Appnexus), and theTradeDesk
\n\n The Bombora API uses the Client Credentials Flow. Using the client ID\n and client secret, a bearer token is retrieved. This token can be used\n in the authorization header of all Bombora API requests.\n
\n \n\n A bearer token can be requested by making a POST request using the\n client ID and client secret.\n
\nhttps://api.bombora.com/oauth/token
\n curl --request POST \\\n --url https://api.bombora.com/oauth/token \\\n --header 'content-type: application/json' \\\n --data '{\"client_id\":\"myclientid\",\"client_secret\":\"myclientsecret\"}'
\n {\n \"access_token\": \"mybearertoken\",\n \"scope\":\"create:dab update:dab\",\n \"expires_in\": 86400,\n \"token_type\": \"Bearer\"\n }
\n \n Using the token retrieved from the previous step, the authorization\n header is required for all Bombora API calls.\n
\n \n\n Authorization: Bearer mybearertoken
\n
\n The Signal API provides customers the ability to programmatically retrieve Company Surge® data.\n
\n\n\n\n Jump to:\n
\n Jump to:\n
Creates a new signal definition given one or more data points.
\n\n POST\n /signal/v1/signal-definition
\n
{\n\t\"metadata\": {\n\t\t\"name\": \"Signal definition for X product\",\n\t\t\"description\": \"Definition created by Joe for the sales team.\"\n\t},\n\t\"domain\": \"example.com\",\n\t\"keywords\": [\n\t\t\"manufacturing\",\n\t\t\"communications\"\n\t],\n\t\"productUrls\": [\n\t\t\"https://www.example.com/productUrl\",\n\t\t\"https://www.example.com/resources/productTraining.html\"\n\t]\n }\n\n
\n {\n \"signalDefinitionId\": \"7030eb5a-311a-4608-b901-8e5d61aad86b\"\n}
\n {\n \"errors\": {\n \"Domain\": [\"Domain provided is not a valid domain\"]\n },\n \"message\": \"One or more validation errors occurred.\"\n}\n
\n Returns the signal definition (if available).
\n\n GET\n /signal/v1/signal-definition/{signalDefinitionId}
\n
{\n\t\"metadata\": {\n\t\t\"name\": \"Signal definition for X product\",\n\t\t\"description\": \"Definition created by Joe for the sales team.\"\n\t},\n\t\"topics\": [{\n \"id\": 12345,\n\t\t\t\"name\": \"Wireless Communication\",\n\t\t\t\"weighting\": 0.9\n\t\t},\n\t\t{\n \t\t\"id\": 23456,\n\t\t\t\"name\": \"Electric Vehicles (EV)\",\n\t\t\t\"weighting\": 0.9\n\t\t}\n\t]\n}\n
\n Updates or replaces the signal definition.
\n\n PUT\n /signal/v1/signal-definition/{signalDefinitionId}
\n
{\n\t\"metadata\": {\n\t\t\"name\": \"Signal definition for X product\",\n\t\t\"description\": \"Definition updated by Steve to improve signal.\"\n\t},\n\t\"topics\": [{\n\t\t\t\"id\": 12345,\n\t\t\t\"weighting\": 0.9\n\t\t},\n\t\t{\n\t\t\t\"id\": 20678,\n\t\t\t\"weighting\": 0.88\n\t\t}\n\t]\n }\n
\n {\n \"errors\": {\n \"topics\": [\"Topic id must be provided for each topic\"]\n },\n \"message\": \"One or more validation errors occurred.\"\n}\n\n
\n Deletes the signal definition.
\n\n DELETE\n /signal/v1/signal-definition/{signalDefinitionId}
\n
Returns a list of the customer’s signal definitions.
\n\n GET\n /signal/v1/signal-definitions
\n
{\n \"signalDefinitions\": [{\n \"signalDefinitionId\": \"7030eb5a-311a-4608-b901-8e5d61aad86b\",\n \"status\": \"Processing\",\n \"metadata\": {\n\t\t \"name\": \"Signal definition for X product\",\n\t\t \"description\": \"Updated by Steve to improve signal.\"\n\t }\n },\n {\n \"signalDefinitionId\": \"e2350c4f-3f29-4779-8d6a-d1fc8bfbc95c\",\n \"status\": \"Available\"\n \"metadata\": {\n\t\t \"name\": \"\",\n\t\t \"description\": \"\"\n\t }\n }]\n}\n\n
\n