https://github.com/singer-io/tap-taboola
A Singer tap for extracting data from the Taboola API
https://github.com/singer-io/tap-taboola
singer tap
Last synced: about 1 year ago
JSON representation
A Singer tap for extracting data from the Taboola API
- Host: GitHub
- URL: https://github.com/singer-io/tap-taboola
- Owner: singer-io
- License: agpl-3.0
- Created: 2017-03-31T17:39:25.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2024-09-03T10:25:23.000Z (almost 2 years ago)
- Last Synced: 2025-04-05T02:06:04.489Z (about 1 year ago)
- Topics: singer, tap
- Language: Python
- Homepage:
- Size: 39.1 KB
- Stars: 2
- Watchers: 12
- Forks: 12
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# tap-taboola
Author: Connor McArthur (connor@fishtownanalytics.com)
This is a [Singer](https://singer.io) tap that produces JSON-formatted data following the [Singer spec](https://github.com/singer-io/getting-started/blob/master/SPEC.md).
This tap:
- Pulls raw data from Taboola's Backstage API
- Extracts the following resources:
- Campaigns
- Campaign Reports, specifically the `campaign_day_breakdown` report
- Outputs the schema for each resource
- Incrementally pulls data based on the input state
## Quick start
1. Install
```bash
> git clone git@github.com:fishtown-analytics/tap-taboola.git
> cd tap-taboola
> pip install .
```
2. Get credentials from Taboola:
You'll need:
- Your account id (if you aren't sure, contact your account manager)
- A Taboola username and password with access to the API
- A client ID and secret for the API (your account manager can give you these)
3. Create the config file.
There is a template you can use at `config.json.example`, just copy it to `config.json`
in the repo root and insert your credentials.
- `account_id`, your Taboola account ID (looks like `taboolademoadvertiser`).
- `username`, your Taboola username -- used to generate an API access key.
- `password`, the Taboola password to go along with `username`.
- `client_id`, your Taboola client ID. You should reach out to your account manager to get this.
- `client_secret`, your Taboola client secret. You should reach out to your account manager to get this.
- `start_date`, the date from which you want to sync data, in the format `2017-03-10`.
4. Run the application.
```bash
tap-taboola --config config.json
```
## Gotchas
- `campaigns`: Taboola pushes `null` for `start_date` and `9999-12-31` for `end_date` sometimes. This tap converts `null` dates to `9999-12-31` for consistency. I don't know what that signifies at present. - @cmcarthur
---
Copyright © 2017 Stitch