Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

tap-linkedin-ads

Singer tap for extracting data from the LinkedIn Ads Marketing API.

Built with the Meltano Singer SDK.

Capabilities

  • catalog
  • state
  • discover
  • about
  • stream-maps
  • schema-flattening

Settings

Setting Required Default Description
access_token True None The token to authenticate against the API service
start_date True None The earliest record date to sync
end_date False 2023-05-09 02:04:18.151589 The latest record date to sync
user_agent False tap-linkedin-ads <api_user_email@your_company.com> API ID
api_version False 202207 LinkedInAds API Version
accounts True None LinkedInAds Account ID
campaign True None LinkedInAds Campaign ID
owner True None LinkedInAds Owner ID
stream_maps False None Config object for stream maps capability. For more information check out Stream Maps.
stream_map_config False None User-defined config values to be used within map expressions.
flattening_enabled False None 'True' to enable schema flattening and automatically expand nested properties.
flattening_max_depth False None The max depth to flatten schemas.

A full list of supported settings and capabilities is available by running: tap-linkedin-ads --about

Owner

The owner setting is required for pulling data from the VideoAds endpoint. You can find the owner ID by making a request to the adAccounts endpoint:

https://api.linkedin.com/rest/adAccounts?q=search&start=0&count=10

The owner ID can be found in the response under "reference": "urn:li:organization:{OWNER}"

Installation

pipx install git+https://github.com/MeltanoLabs/tap-linkedin-ads.git@main

Authentication

The tap requires a LinkedInAds OAuth 2.0 access token to make API requests

The access token requires the following permissions:

r_ads: read ads rw_ads: read-write ads r_ads_reporting: read ads reporting

Access tokens expire after 60 days and require a user to manually authenticate again. See the LinkedInAds API docs for more info

Usage

AdAnalytics API Column Limitation

The AdAnalytics endpoint in the LinkedInAds API can call up to 20 columns at a time, we can create child classes which have 20 columns in them, we can merge their output with get records function.

SDK X-Restli-Protocol Limitation

The creatives endpoint requires X-Restli-Protocol to be set to 2.0.0. The request URL for tap-linkedin-ads uses parentheses ‘()’. '(' and ')' are typically encoded in a request URL, but are not when the X-Restli-Protocol is 2.0.0. An SDK update for expanded escape characters is currently WIP [link github issue]

Metadata Columns

  • add_metadata_columns: Setting this config to 'true' adds the _SDC_BATCHED_AT, _SDC_DELETED_AT and _SDC_EXTRACTED_AT metadata columns to the loaded tables

Elastic License 2.0

The licensor grants you a non-exclusive, royalty-free, worldwide, non-sublicensable, non-transferable license to use, copy, distribute, make available, and prepare derivative works of the software.

Executing the Tap Directly

tap-linkedin-ads --version
tap-linkedin-ads --help
tap-linkedin-ads --config CONFIG --discover > ./catalog.json

Contributing

This project uses parent-child streams. Learn more about them here.

Initialize your Development Environment

pipx install poetry
poetry install

Create and Run Tests

Create tests within the lib_tap_linkedin_ads_sdk/tests subfolder and then run:

poetry run pytest

You can also test the tap-linkedin-ads CLI interface directly using poetry run:

poetry run tap-linkedin-ads --help

Testing with Meltano

Note: This tap will work in any Singer environment and does not require Meltano. Examples here are for convenience and to streamline end-to-end orchestration scenarios.

Next, install Meltano (if you haven't already) and any needed plugins:

# Install meltano
pipx install meltano
# Initialize meltano within this directory
cd tap-linkedin-ads
meltano install tap-linkedin-ads

Now you can test and orchestrate using Meltano:

# Test invocation:
meltano invoke tap-linkedin-ads --version
# OR run a test `elt` pipeline:
meltano elt tap-linkedin-ads target-jsonl

SDK Dev Guide

See the dev guide for more instructions on how to use the SDK to develop your own taps and targets.

Metadata

Release files for meltano-tap-linkedin-ads 0.0.1a2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for meltano-tap-linkedin-ads 0.0.1a2
File Size Uploaded
meltano_tap_linkedin_ads-0.0.1a2.tar.gz 15.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for meltano-tap-linkedin-ads 0.0.1a2
File Interpreter ABI Platform
meltano_tap_linkedin_ads-0.0.1a2-py3-none-any.whl Python 3 none any Details

Total release size: 30.9 kB

Release files / meltano_tap_linkedin_ads-0.0.1a2.tar.gz

Download URL meltano_tap_linkedin_ads-0.0.1a2.tar.gz
Size 15.4 kB
Tags Source
SHA-256 checksum
How to use checksums
f2d5e481ac76db19ec5e5d83c67b9afac63e8333dbc54d20239d9efe4489f3e6
BLAKE2b-256 checksum
How to use checksums
7372fb51a7e200caa7d813b015d6c846486d282676250b742577a69934180327
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.1 CPython/3.11.3

Release files / meltano_tap_linkedin_ads-0.0.1a2-py3-none-any.whl

Download URL meltano_tap_linkedin_ads-0.0.1a2-py3-none-any.whl
Size 15.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
66a9916a087f42e1879e072d24cf034718ef3f27ae75942d6aa7c32aa38a099d
BLAKE2b-256 checksum
How to use checksums
1738d99f99ea689f7006eeba59aceae964b6788860caa41d4d4a836a547ed055
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/4.0.1 CPython/3.11.3

Release history Release notifications | RSS feed

This release

0.0.1a2 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page