Skip to content

Periscope Source

The Periscope source extracts dashboards, charts, SQL views, and user data from Periscope Data (now part of Sisense).

Terminal window
pip install bizon[periscope]
name: periscope-pipeline
source:
name: periscope
stream: charts
workspace_name: my-workspace
client_site_id: 12345
database_id: 67890
x_csrf_token: your-csrf-token
authentication:
type: cookies
params:
cookies:
cf_bm: your-cloudflare-cookie
periscope_session: your-session-cookie
destination:
name: bigquery
config:
project_id: my-project
dataset_id: analytics
gcs_buffer_bucket: my-bucket
StreamDescriptionIncremental
chartsCharts filtered by database_idNo
dashboardsAll dashboardsNo
dashboards_metadataDashboard metadata via searchNo
databasesConnected databasesNo
usersWorkspace users/ownersNo
viewsSQL viewsNo
FieldTypeRequiredDescription
workspace_namestringYesPeriscope workspace name
client_site_idintYesClient site ID
database_idintYesFilter charts by this database
x_csrf_tokenstringYesCSRF token for requests

Periscope uses cookie-based authentication. You’ll need to extract cookies from your browser session:

source:
name: periscope
stream: charts
workspace_name: my-workspace
client_site_id: 12345
database_id: 67890
x_csrf_token: your-csrf-token
authentication:
type: cookies
params:
cookies:
cf_bm: your-cloudflare-bm-cookie
periscope_session: your-periscope-session-cookie
  1. Open Periscope in your browser and log in
  2. Open Developer Tools (F12 or Cmd+Option+I)
  3. Go to the Network tab
  4. Navigate to any page in Periscope
  5. Click on any XHR request to app.periscopedata.com
  6. Find the following in the request:
    • Cookies: __cf_bm and periscope_session from the Cookie header
    • X-CSRF-Token: From the request headers
    • client_site_id: From the request URL parameters
name: periscope-charts
source:
name: periscope
stream: charts
workspace_name: analytics-team
client_site_id: 12345
database_id: 67890
x_csrf_token: BIZON_ENV_PERISCOPE_CSRF
authentication:
type: cookies
params:
cookies:
cf_bm: BIZON_ENV_PERISCOPE_CF_BM
periscope_session: BIZON_ENV_PERISCOPE_SESSION
destination:
name: bigquery
config:
project_id: my-project
dataset_id: periscope
gcs_buffer_bucket: my-staging-bucket
name: periscope-dashboards
source:
name: periscope
stream: dashboards_metadata
workspace_name: analytics-team
client_site_id: 12345
database_id: 67890
x_csrf_token: BIZON_ENV_PERISCOPE_CSRF
authentication:
type: cookies
params:
cookies:
cf_bm: BIZON_ENV_PERISCOPE_CF_BM
periscope_session: BIZON_ENV_PERISCOPE_SESSION
destination:
name: bigquery
config:
project_id: my-project
dataset_id: periscope
gcs_buffer_bucket: my-staging-bucket
FieldDescription
idChart ID
database_idConnected database ID
content_idContent ID (for textboxes)
raw_textExtracted text (for textbox widgets)
FieldDescription
idDashboard ID
nameDashboard name

Periscope sessions expire. To maintain access:

  1. Refresh cookies regularly: Session cookies typically expire after a few hours
  2. Use environment variables: Store cookies in environment variables for easy updates
  3. Automate refresh: Consider using browser automation to refresh cookies