Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 80 additions & 0 deletions _data/taps/schemas/outbrain/v2/json/campaign.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
{
"type": "object",
"properties": {
"id": {
"type": ["null", "string"]
},
"name": {
"type": ["null", "string"]
},
"campaignOnAir": {
"type": ["null", "boolean"]
},
"onAirReason": {
"type": ["null", "string"]
},
"enabled": {
"type": ["null", "boolean"]
},
"budget": {
"type": ["null", "object"],
"properties": {
"id": {
"type": ["null", "string"]
},
"name": {
"type": ["null", "string"]
},
"shared": {
"type": ["null", "boolean"]
},
"amount": {
"type": ["null", "number"]
},
"currency": {
"type": ["null", "string"]
},
"amountRemaining": {
"type": ["null", "number"]
},
"amountSpent": {
"type": ["null", "number"]
},
"creationTime": {
"type": ["null", "string"],
"format": "date-time"
},
"lastModified": {
"type": ["null", "string"],
"format": "date-time"
},
"startDate": {
"type": ["null", "string"],
"format": "date"
},
"endDate": {
"type": ["null", "string"],
"format": "date"
},
"runForever": {
"type": ["null", "boolean"]
},
"type": {
"type": ["null", "string"]
},
"pacing": {
"type": ["null", "string"]
},
"dailyTarget": {
"type": ["null", "number"]
},
"maximumAmount": {
"type": ["null", "number"]
}
}
},
"cpc": {
"type": ["null", "number"]
}
}
}
36 changes: 36 additions & 0 deletions _data/taps/schemas/outbrain/v2/json/campaign_performance.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
{
"type": "object",
"properties": {
"campaignId": {
"type": ["null", "string"]
},
"fromDate": {
"type": ["null", "string"],
"format": "date-time"
},
"impressions": {
"type": ["null", "number"]
},
"clicks": {
"type": ["null", "number"]
},
"ctr": {
"type": ["null", "number"]
},
"spend": {
"type": ["null", "number"]
},
"ecpc": {
"type": ["null", "number"]
},
"conversions": {
"type": ["null", "number"]
},
"conversionRate": {
"type": ["null", "number"]
},
"cpa": {
"type": ["null", "number"]
}
}
}
33 changes: 33 additions & 0 deletions _data/taps/schemas/outbrain/v2/outbrain-v2-tables.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
tap: outbrain
version: '2'
tap-repo-schemas: false
tables:
- name: campaign
description: 'The `{{ table.name }}` table contains info about your {{ integration.display_name
}} campaigns.

'
links:
doc-link: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaigns
singer-schema: https://github.com/singer-io/tap-outbrain/blob/master/tap_outbrain/schemas/campaign.json
api-method: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaigns
table-details:
replication-method: Full Table
primary-key: id
- name: campaign_performance
description: 'The `{{ table.name }}` table contains performance metrics for your
{{ integration.display_name }} campaigns.

'
links:
doc-link: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaign-performance
singer-schema: https://github.com/singer-io/tap-outbrain/blob/master/tap_outbrain/schemas/campaign_performance.json
api-method: http://developer.outbrain.com/docs/amplify-v2/api-reference/#campaign-performance
table-details:
replication-method: Key-based Incremental
primary-keys:
- campaignId
- fromDate
replication-key: fromDate
notes: |
The `fromDate` replication key uses timestamp (date-time) format in V2, allowing granular replication tracking.
5 changes: 4 additions & 1 deletion _data/taps/versions/outbrain.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@
# OUTBRAIN VERSIONS #
# -------------------------- #

latest-version: "1"
latest-version: "2"

released-versions:
- number: "2"
date-released: "February 11, 2026"
# date-last-connection:
- number: "1"
date-released: "March 1, 2017"
# date-last-connection:
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
---
title: Outbrain (v1)
permalink: /integrations/saas/outbrain
permalink: /integrations/saas/outbrain/v1
keywords: outbrain, integration, schema, etl outbrain, outbrain etl, outbrain schema
summary: "Connection instructions and schema details for Stitch's Outbrain integration."
layout: singer
input: false

key: "outbrain-setup"

Expand Down
97 changes: 97 additions & 0 deletions _saas-integrations/outbrain/v2/outbrain-v2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
---
title: Outbrain (v2)
permalink: /integrations/saas/outbrain
keywords: outbrain, integration, schema, etl outbrain, outbrain etl, outbrain schema
summary: "Connection instructions and schema details for Stitch's Outbrain integration."
layout: singer
#input: false

key: "outbrain-setup"

# -------------------------- #
# Integration Details #
# -------------------------- #

name: "outbrain"
display_name: "Outbrain"

singer: true
repo-url: https://github.com/singer-io/tap-outbrain

this-version: "2"

api: |
[{{ integration.display_name }} Amplify API v2](http://developer.outbrain.com/docs/amplify-v2/api-reference/){:target="new"}

# -------------------------- #
# Stitch Details #
# -------------------------- #

certified: false

historical: "1 year"
frequency: "30 minutes"
tier: "Standard"

api-type: "platform.outbrain"

anchor-scheduling: true
cron-scheduling: true

table-selection: true
column-selection: false

extraction-logs: true
loading-reports: true

# -------------------------- #
# Feature Summary #
# -------------------------- #

feature-summary: |
Stitch's {{ integration.display_name }} integration replicates data using the {{ integration.api | flatify | strip }}. Refer to the [Schema](#schema) section for a list of objects available for replication.


# -------------------------- #
# Setup Instructions #
# -------------------------- #

setup-steps:
- title: "Add {{ integration.display_name }} as a Stitch data source"
anchor: "add-stitch-data-source"
content: |
{% include integrations/shared-setup/connection-setup.html %}
4. In the **Account ID** field, enter your Outbrain Account (or Marketer) ID.

You can find this by looking at the URL when you're logged into your Outbrain account. The Account ID looks something like this: `0f4b02153ee75f3c9dc4fc128ab041962` and is located between `marketers` and `campaigns`, if you're looking at the Overview dashboard:

`https://my.outbrain.com/amplify/site/marketers/[account-id-will-be-here]/campaigns/overview`

5. In the **Username** field, enter your Outbrain username.
6. In the **Password** field, enter your Outbrain password.

- title: "Define the historical replication start date"
anchor: "define-historical-sync"
content: |
{% include integrations/saas/setup/historical-sync.html %}

- title: "Create a replication schedule"
anchor: "define-rep-frequency"
content: |
{% include integrations/shared-setup/replication-frequency.html %}

- title: "Set objects to replicate"
anchor: "setting-data-to-replicate"
content: |
{% include integrations/shared-setup/data-selection/object-selection.html %}


# -------------------------- #
# Table Schemas #
# -------------------------- #

# Looking for the table schemas & info?
# Each table has a its own .md file in /_integration-schemas/outbrain
---
{% assign integration = page %}
{% include misc/data-files.html %}