Not logged in.
API Proxy

Please login to use D4L's API Proxy. You must have an existing D4L account.

About API Proxy

The D4L API Proxy App simplifies the implementation of OAuth APIs by proxying them through simple Basic Authentication secured endpoints, permitting everything from elementary shell scripts to sophisticated ETL systems simplified access.

APIs such as Google's YouTube Reporting API require an offline OAuth token grant. Allowing a third-party system to gather data on your behalf requires the system to retrieve and use a token provided after you authenticate and grant access. The D4L API Proxy App allows you to perform these steps beforehand and expose proxied HTTPS access to these systems with simple Basic Authentication.

Getting Started:
  1. Login to D4L API Proxy.
  2. Create an Application by choosing a name, secret, provider, and OAuth scopes required for specific APIs (see documentation below).
  3. Authorize the new application.
  4. Access API with Basic Authentication username and password provided by your new application.
API Proxy Diagram
Your app, your credentials. D4L's API Proxy securely stores your OAuth authenticated credentials for your application. It does not reveal or distribute them to anyone, including persons and systems with which you share Basic Auth access to the applications you create.
Google API Proxy
Access
  • Base Endpoints
    • /api/<user_id>/<app_name>/google/youtube/v3/<category>/<action>
  • Required Scopes
    • https://www.googleapis.com/auth/youtube.readonly

Overview

The YouTube Data API v3 proxy utilizes the Google API Client Library for Python and supports access to top level instance methods (which return an object) expressed as category and invocation of second level methods expressed as action. The proxy passes query string arguments directly to an action invoked on a category.

Support

category action arguments
videos list documentation
playlists list documentation
playlistItems list documentation

Please contact info@d4l.dev to request additional endpoints for this proxy.

Examples

Get video snippets:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtube/v3/videos/list?part=id,snippet&id=OkmNXy7er84,EK32jo7i5LQ'

Get playlists:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtube/v3/playlists/list?part=id,snippet&channelId=UC9D7VN2HldiRFdxFvCcyA7A'

Get playlist items:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtube/v3/playlistItems/list?part=id,snippet&playlistId=PL221B13914A7EF3A2'

See the official YouTube Data API v3 documentation.

Access
  • Base Endpoints
    • /api/<user_id>/<app_name>/google/youtubeReporting/v1/<category>/<action>
  • Required Scopes
    • https://www.googleapis.com/auth/yt-analytics.readonly

Overview

The YouTube Reporting API v3 proxy utilizes the Google API Client Library for Python and supports access to top level instance methods (which return an object) expressed as category and invocation of second level methods expressed as action. The proxy passes query string arguments directly to an action invoked on a category.

Support

category action arguments
jobs create documentation
delete documentation
get documentation
list documentation
reports get documentation
list documentation
reportTypes list documentation
media download documentation

Please contact info@d4l.dev to request additional endpoints for this proxy.

Examples

Get report types:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtubeReporting/v1/reportTypes/list'

Create Job:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtubeReporting/v1/jobs/create?reportTypeId=channel_combined_a2&name=channel_combined_a2'

List Jobs:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtubeReporting/v1/jobs/list'

Get Job:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtubeReporting/v1/jobs/get?jobId=5e0d3bb5-0339-44b8-8fad-ecfb73e33339'

List reports (for Job ID):

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtubeReporting/v1/reports/list?jobId=5e0d3bb5-0339-44b8-8fad-ecfb73e33339'

Get report:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtubeReporting/v1/reports/get?jobId=5e0d3bb5-0339-44b8-8fad-ecfb73e33339&reportId=7454014867'

Download report:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtubeReporting/v1/media/download?download_name=report.csv&url=https://youtubereporting.googleapis.com/v1/media/CHANNEL/0zi46itD6kedA4LYZvuVIg/jobs/5e0d3bb5-0339-44b8-8fad-ecfb73e33339/reports/7454014867?alt=media'

See the official YouTube Reporting API v3 documentation.

Access
  • Base Endpoints
    • /api/<user_id>/<app_name>/google/youtubeAnalytics/v2/<category>/<action>
  • Required Scopes
    • https://www.googleapis.com/auth/yt-analytics.readonly

Overview

The YouTube Analytics API v2 proxy utilizes the Google API Client Library for Python and supports access to top level instance methods (which return an object) expressed as category and invocation of second level methods expressed as action. The proxy passes query string arguments directly to an action invoked on a category.

Support

category action arguments
groups insert documentation
list documentation
update documentation
groupItems insert documentation
list documentation
reports query documentation

Please contact info@d4l.dev to request additional endpoints for this proxy.

Examples

List groups:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtubeAnalytics/v2/groups/list'

Query:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/youtubeAnalytics/v2/reports/query?startDate=2020-01-01&endDate=2022-12-23&maxResults=250&dimensions=day&maxResults=10&metrics=views&ids=channel==MINE'

See the official YouTube Analytics API v2 documentation.

Access
  • Base Endpoints
    • /api/<user_id>/<app_name>/google/analytics/v3/<category>/<action>
  • Required Scopes
    • https://www.googleapis.com/auth/analytics.readonly

Overview

The Analytics API v3 proxy utilizes the Google API Client Library for Python and supports access to top level instance methods (which return an object) expressed as category and invocation of second level methods expressed as action. The proxy passes query string arguments directly to an action invoked on a category.

Support

category action arguments
ga get documentation
mcf get documentation

Please contact info@d4l.dev to request additional endpoints for this proxy.

Examples

Query analytics:

curl -u '<user_id>__<app_name>:<app_password>' --request GET 'https://api-proxy.app.d4l.dev/api/<user_id>/<app_name>/google/analytics/v3/ga/get?ids=ga:123316202&start_date=2022-11-01&end_date=2022-11-30&metrics=ga:pageviews'

See the official Analytics API v3 documentation.