Skip to content

Environment Variables

All secrets and authentication credentials are configured via environment variables. They are never stored in the config file.

Use this page together with the connector guides: the connector docs explain which credentials, permissions or network requirements apply to each integration.

Skippr authentication

VariableWhenDescription
SKIPPR_API_KEYCI/CDPer-user API key for non-interactive authentication. See Authentication. This authenticates the runner to Skippr's cloud-backed control plane.
SKIPPR_AUTH_URLOptionalOverride the auth service URL (default: https://auth.skippr.io)

LLM

VariableWhenDescription
LLM_API_KEYOptionalOverride the server-provided LLM key with your own (e.g. to use a different model or provider). When not set, the key is provided after authentication. Schema metadata is the default model input; data samples are optional and off by default.

Warehouse and source credentials

Each provider has its own set of required environment variables. See the connect guide for your specific setup:

ProviderGuide
SnowflakeSnowflake
BigQueryBigQuery
PostgresPostgreSQL
MSSQLMSSQL
Google Analytics (GA4)
Google Search ConsoleGSC
GA4
Google PageSpeed Insights
SEO CrawlSEO Crawl
PageSpeed
Apple Search Ads
DataForSEO BacklinksDataForSEO
Apple Search Ads
Site QualitySite Quality
Meta Instagram AdsMeta Instagram Ads
S3S3

Google Analytics (GA4)

VariableWhenDescription
GA4_ACCESS_TOKENBearer auth (local / ad hoc)Short-lived OAuth 2.0 access token for the Data API (analytics.readonly). Not a GA4 UI key; expires in ~1 hour. How to obtain it.
GOOGLE_APPLICATION_CREDENTIALSService accountPath to a service account JSON key. Create & configure.
SKIPPR_GA4_FIXTURE_DIROffline dev onlyDirectory of runReport JSON fixtures (see GA4 connector)

OAuth refresh (alternative to GA4_ACCESS_TOKEN): set GA4_OAUTH_CLIENT_ID, GA4_OAUTH_CLIENT_SECRET, and GA4_OAUTH_REFRESH_TOKEN in the environment (or in skippr.yml / skippr connect). Create & configure.

Google PageSpeed Insights

VariableWhenDescription
PAGESPEED_API_KEYRequiredPageSpeed Insights API key
SKIPPR_GOOGLE_PAGESPEED_FIXTURE_DIROffline dev onlyDirectory of run_pagespeed_*.json fixtures (see connector)

Site Quality

VariableWhenDescription
SKIPPR_SITE_QUALITY_FIXTURE_DIROffline dev onlyDirectory of worker result JSON fixtures (see connector)
SKIPPR_SITE_QUALITY_WORKER_SCRIPTOptionalPath to site-quality-worker.mjs when not using the default plugin bundle layout
PLAYWRIGHT_BROWSERS_PATHOptionalCustom Playwright browser cache directory

Google Search Console

VariableWhenDescription
GSC_ACCESS_TOKENBearer authShort-lived OAuth 2.0 access token (webmasters.readonly)
GSC_OAUTH_CLIENT_IDOAuth refreshGoogle OAuth client ID for token refresh
GSC_OAUTH_CLIENT_SECRETOAuth refreshOAuth client secret
GSC_OAUTH_REFRESH_TOKENOAuth refreshRefresh token
GOOGLE_APPLICATION_CREDENTIALSService accountPath to JSON key; add the SA email in Search Console
SKIPPR_GOOGLE_SEARCH_CONSOLE_FIXTURE_DIROffline dev onlyDirectory of Search Analytics JSON fixtures

See Google Search Console.

SEO Crawl

VariableWhenDescription
OPENAI_API_KEYOptionalEnables live OpenAI block analysis when openai_enabled is true
SKIPPR_SEO_CRAWL_FIXTURE_DIROffline dev onlyHTML / robots / sitemap fixtures for local runs
VariableWhenDescription
DATAFORSEO_LOGINRequiredDataForSEO API login (Basic auth)
DATAFORSEO_PASSWORDRequiredDataForSEO API password
SKIPPR_DATAFORSEO_BACKLINKS_FIXTURE_DIROffline dev onlyLive API response JSON fixtures

Apple Search Ads

VariableWhenDescription
APPLE_SEARCH_ADS_ORG_IDRequiredSearch Ads organization ID
APPLE_SEARCH_ADS_CLIENT_IDRequiredOAuth client ID
APPLE_SEARCH_ADS_TEAM_IDRequiredApple team ID (JWT issuer)
APPLE_SEARCH_ADS_KEY_IDRequiredAPI key ID (kid on client-secret JWT)
APPLE_SEARCH_ADS_PRIVATE_KEY_PATHRequiredPath to EC private key PEM (unless private_key_pem in config)
APPLE_SEARCH_ADS_ACCESS_TOKENLocal debugBearer token override (skips JWT exchange)
SKIPPR_APPLE_SEARCH_ADS_FIXTURE_DIROffline dev onlyDirectory of report/list JSON fixtures (see connector)

Meta Instagram Ads

VariableWhenDescription
META_AD_ACCOUNT_IDRequiredMeta ad account ID (numeric; act_ prefix optional)
META_INSTAGRAM_ADS_ACCESS_TOKENBearer authLong-lived Marketing API access token with ads_read
META_OAUTH_CLIENT_IDOAuth refreshMeta app client ID (or set in skippr.yml)
META_OAUTH_CLIENT_SECRETOAuth refreshMeta app client secret
META_OAUTH_REFRESH_TOKENOAuth refreshRefresh token for Marketing API
SKIPPR_META_INSTAGRAM_ADS_FIXTURE_DIROffline dev onlyDirectory of insights JSON fixtures (see connector)

Optional overrides

VariableDefaultDescription
LLM_BASE_URLhttps://api.openai.comOverride the LLM API endpoint
LLM_HTTP_TIMEOUT_SECS1200Override the LLM HTTP timeout for slow networks or long-running model calls
DBT_TARGET_SCHEMASame as projectOverride the dbt base schema name
DBT_SILVER_SUFFIXsilverOverride the silver tier suffix
DBT_GOLD_SUFFIXgoldOverride the gold tier suffix