The Periscope source extracts dashboards, charts, SQL views, and user data from Periscope Data (now part of Sisense).
pip install bizon[periscope]
workspace_name: my-workspace
x_csrf_token: your-csrf-token
cf_bm: your-cloudflare-cookie
periscope_session: your-session-cookie
gcs_buffer_bucket: my-bucket
| Stream | Description | Incremental |
|---|
charts | Charts filtered by database_id | No |
dashboards | All dashboards | No |
dashboards_metadata | Dashboard metadata via search | No |
databases | Connected databases | No |
users | Workspace users/owners | No |
views | SQL views | No |
| Field | Type | Required | Description |
|---|
workspace_name | string | Yes | Periscope workspace name |
client_site_id | int | Yes | Client site ID |
database_id | int | Yes | Filter charts by this database |
x_csrf_token | string | Yes | CSRF token for requests |
Periscope uses cookie-based authentication. You’ll need to extract cookies from your browser session:
workspace_name: my-workspace
x_csrf_token: your-csrf-token
cf_bm: your-cloudflare-bm-cookie
periscope_session: your-periscope-session-cookie
- Open Periscope in your browser and log in
- Open Developer Tools (F12 or Cmd+Option+I)
- Go to the Network tab
- Navigate to any page in Periscope
- Click on any XHR request to
app.periscopedata.com
- 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
workspace_name: analytics-team
x_csrf_token: BIZON_ENV_PERISCOPE_CSRF
cf_bm: BIZON_ENV_PERISCOPE_CF_BM
periscope_session: BIZON_ENV_PERISCOPE_SESSION
gcs_buffer_bucket: my-staging-bucket
name: periscope-dashboards
stream: dashboards_metadata
workspace_name: analytics-team
x_csrf_token: BIZON_ENV_PERISCOPE_CSRF
cf_bm: BIZON_ENV_PERISCOPE_CF_BM
periscope_session: BIZON_ENV_PERISCOPE_SESSION
gcs_buffer_bucket: my-staging-bucket
| Field | Description |
|---|
id | Chart ID |
database_id | Connected database ID |
content_id | Content ID (for textboxes) |
raw_text | Extracted text (for textbox widgets) |
| Field | Description |
|---|
id | Dashboard ID |
name | Dashboard name |
Periscope sessions expire. To maintain access:
- Refresh cookies regularly: Session cookies typically expire after a few hours
- Use environment variables: Store cookies in environment variables for easy updates
- Automate refresh: Consider using browser automation to refresh cookies