Organization Usage

Snowflake provides historical usage data for all accounts in your organization via the ORGANIZATION_USAGE schema in a shared database named SNOWFLAKE.

ORGANIZATION_USAGE views

The ORGANIZATION_USAGE schema contains the following views:

ViewTypeLatency [1]Notes
ACCESS_HISTORYHistorical24 hoursPremium view (only available in organization account).
ACCOUNTSObject24 hours
ALERT_HISTORYHistorical24 hoursPremium view (only available in organization account).
ANOMALIES_IN_CURRENCY_DAILYHistorical24 hours
AUTOMATIC_CLUSTERING_HISTORYHistorical24 hoursData retained for 1 year.
BACKUP_OPERATION_HISTORYHistorical6 hoursData retained for 1 year.
BACKUP_POLICIESObject6 hours
BACKUP_SETSObject6 hours
BACKUPSObject6 hours
CLASSESObject24 hoursPremium view (only available in organization account).
CLASS_INSTANCESObject24 hoursPremium view (only available in organization account).
COLUMNSObject24 hoursPremium view (only available in organization account).
COMPLETE_TASK_GRAPHSHistorical24 hoursPremium view (only available in organization account).
CONTRACT_ITEMS [2]Historical24 hours
CORTEX_AGENT_USAGE_HISTORYHistorical24 hoursPremium view (only available in organization account).
CORTEX_AI_FUNCTIONS_USAGE_HISTORYHistorical24 hoursPremium view (only available in organization account).
CORTEX_CODE_CLI_USAGE_HISTORYHistorical24 hoursPremium view (only available in organization account).
CORTEX_CODE_SNOWSIGHT_USAGE_HISTORYHistorical24 hoursPremium view (only available in organization account).
CORTEX_SEARCH_SERVING_USAGE_HISTORYHistorical24 hoursPremium view (only available in organization account).
COPY_HISTORYHistorical24 hoursPremium view (only available in organization account).
DATA_TRANSFER_DAILY_HISTORYHistorical2 hoursData retained for 1 year.
DATA_TRANSFER_HISTORYHistorical24 hoursData retained for 1 year.
DATABASE_STORAGE_USAGE_HISTORYHistorical24 hoursData retained for 1 year.
DATABASESObject24 hoursPremium view (only available in organization account).
FEATURE_POLICIESObject24 hoursPremium view (only available in organization account).
FILE_FORMATSObject24 hoursPremium view (only available in organization account).
FUNCTIONSObject24 hoursPremium view (only available in organization account).
GRANTS_TO_ROLESObject24 hoursPremium view (only available in organization account).
GRANTS_TO_USERSObject24 hoursPremium view (only available in organization account).
LISTING_AUTO_FULFILLMENT_USAGE_HISTORYHistorical72 hoursData retained for 1 year.
LOAD_HISTORYHistorical24 hoursPremium view (only available in organization account).
LOCK_WAIT_HISTORYHistorical24 hoursPremium view (only available in organization account).
LOGIN_HISTORYHistorical24 hoursPremium view (only available in organization account).
MARKETPLACE_DISBURSEMENT_REPORTHistorical24 hoursData retained for 1 year.
MARKETPLACE_PAID_USAGE_DAILYHistorical24 hoursData retained for 1 year.
MASKING_POLICIESObject24 hoursPremium view (only available in organization account).
MATERIALIZED_VIEW_REFRESH_HISTORYHistorical24 hoursData retained for 1 year.
METERING_DAILY_HISTORYHistorical2 hoursData retained for 1 year.
METERING_HISTORYHistorical24 hoursPremium view (only available in organization account).
MONETIZED_USAGE_DAILYHistorical24 hoursData retained for 1 year.
NETWORK_POLICIESObject24 hoursPremium view (only available in organization account).
NETWORK_RULE_REFERENCESObject24 hoursPremium view (only available in organization account).
NETWORK_RULESObject24 hoursPremium view (only available in organization account).
OBJECT_DEPENDENCIESHistorical24 hoursPremium view (only available in organization account).
OUTBOUND_PRIVATELINK_ENDPOINTSObject2 hoursPremium view (only available in organization account). Business Critical (or higher). Data for deleted endpoints is retained for 1 year.
PASSWORD_POLICIESObject24 hoursPremium view (only available in organization account).
PIPE_USAGE_HISTORYHistorical24 hoursData retained for 1 year.
PIPESObject24 hoursPremium view (only available in organization account).
POLICY_REFERENCESObject24 hoursPremium view (only available in organization account).
PROCEDURESObject24 hoursPremium view (only available in organization account).
QUERY_ACCELERATION_ELIGIBLEHistorical24 hoursPremium view (only available in organization account).
QUERY_ACCELERATION_HISTORYHistorical24 hoursData retained for 1 year.
QUERY_ATTRIBUTION_HISTORYHistorical24 hoursPremium view (only available in organization account).
QUERY_HISTORYHistorical24 hoursPremium view (only available in organization account).
RATE_SHEET_DAILY [2]Historical24 hours
REFERENTIAL_CONSTRAINTSObject24 hoursPremium view (only available in organization account).
REMAINING_BALANCE_DAILY [2]Historical72 hours
REPLICATION_GROUP_REFRESH_HISTORYHistorical24 hoursPremium view (only available in organization account).
REPLICATION_GROUP_USAGE_HISTORYHistorical24 hoursData retained for 1 year.
REPLICATION_USAGE_HISTORYHistorical24 hoursData retained for 1 year.
RESOURCE_MONITORS24 hoursPremium view (only available in organization account).
ROLESObject24 hoursPremium view (only available in organization account).
ROW_ACCESS_POLICIESObject24 hoursPremium view (only available in organization account).
SCHEMATAObject24 hoursPremium view (only available in organization account).
SEARCH_OPTIMIZATION_HISTORYHistorical24 hoursData retained for 1 year.
SECRETSObject24 hoursPremium view (only available in organization account).
SEQUENCESObject24 hoursPremium view (only available in organization account).
SESSION_POLICIESObject24 hoursPremium view (only available in organization account).
SESSIONSHistorical24 hoursPremium view (only available in organization account).
SNOWFLAKE_INTELLIGENCE_USAGE_HISTORYHistorical24 hoursPremium view (only available in organization account).
SNAPSHOT_OPERATION_HISTORYHistorical6 hoursData retained for 1 year. This view is deprecated. Use the BACKUP_OPERATION_HISTORY view instead.
SNAPSHOT_POLICIESObject6 hoursThis view is deprecated. Use the BACKUP_POLICIES view instead.
SNAPSHOT_SETSObject6 hoursThis view is deprecated. Use the BACKUP_SETS view instead.
SNAPSHOTSObject6 hoursThis view is deprecated. Use the BACKUPS view instead.
STAGESObject24 hoursPremium view (only available in organization account).
STAGE_STORAGE_USAGE_HISTORYHistorical24 hoursData retained for 1 year.
STORAGE_DAILY_HISTORYHistorical2 hoursData retained for 1 year.
STORAGE_LIFECYCLE_POLICIESObject24 hoursPremium view (only available in organization account).
STORAGE_LIFECYCLE_POLICY_HISTORYHistorical24 hoursPremium view (only available in organization account). Data retained for 1 year.
TABLE_CONSTRAINTSObject24 hoursPremium view (only available in organization account).
TABLE_STORAGE_METRICSObject24 hoursPremium view (only available in organization account).
TABLESObject24 hoursPremium view (only available in organization account).
TAG_REFERENCESObject24 hoursPremium view (only available in organization account).
TAGSObject24 hoursPremium view (only available in organization account).
TASK_HISTORYHistorical24 hoursPremium view (only available in organization account).
TASK_VERSIONSObject24 hoursPremium view (only available in organization account).
TRI_SECRET_SECURE_HISTORYHistorical24 hoursPremium view (only available in organization account).
TRUST_CENTER_FINDINGSHistorical24 hoursPremium view (only available in organization account).
TYPESObject24 hoursPremium view (only available in organization account).
USAGE_IN_CURRENCY_DAILY [2]Historical72 hours
USERSObject24 hoursPremium view (only available in organization account).
VIEWSObject24 hoursPremium view (only available in organization account).
WAREHOUSE_EVENTS_HISTORYHistorical24 hoursPremium view (only available in organization account).
WAREHOUSE_LOAD_HISTORYHistorical24 hoursPremium view (only available in organization account).
WAREHOUSE_METERING_HISTORYHistorical24 hoursData retained for 1 year.

[1] All latency times are approximate; in some instances, the actual latency may be lower.

[2] The organization billing views do not display the actual, final amount because some adjustments are made at the end of the month. Customers who signed a contract through a Snowflake reseller cannot access data in these views.

Accessing the ORGANIZATION_USAGE schema

The ORGANIZATION_USAGE schema is available in the organization account and a regular account that has the ORGADMIN role enabled. How you access the views in the schema differs depending on which type of account you are using. For details about accessing views, see the following:

Note

The views in the ORGANIZATION_USAGE schema are currently not available in US SnowGov Regions on AWS GovCloud and Microsoft Azure Government.

Access schema in the organization account

By default, only users granted the GLOBALORGADMIN role can access ORGANIZATION_USAGE views in the organization account.

To grant access to other users, the organization administrator can grant the appropriate application role to an account role or user.

Users who have been granted the SNOWFLAKE.ORG_USAGE_ADMIN application role can access all views in the ORGANIZATION_USAGE schema of the organization account. The following example lets user joe access all views in the schema:

USE ROLE GLOBALORGADMIN;

GRANT APPLICATION ROLE SNOWFLAKE.ORG_USAGE_ADMIN TO ROLE custom_role;

GRANT ROLE custom_role TO USER joe;

The organization administrator can also grant access on a more granular level. For example, the ORGANIZATION_OBJECT_VIEWER application role grants access to the DATABASES view but does not grant access to the TASK_HISTORY view.

Use the following list to determine which application role grants access to a specific view. These application roles are in the SNOWFLAKE application. Use the fully qualified name of the application role when granting it to another role (for example, SNOWFLAKE.ORGANIZATION_USAGE_VIEWER).

ViewRequired application role
ACCESS_HISTORY viewORGANIZATION_GOVERNANCE_VIEWER
ACCOUNTS viewORGANIZATION_ACCOUNTS_VIEWER
ALERT_HISTORY viewORGANIZATION_USAGE_VIEWER
AUTOMATIC_CLUSTERING_HISTORY viewORGANIZATION_USAGE_VIEWER
CLASSES viewORGANIZATION_USAGE_VIEWER
CLASS_INSTANCES viewORGANIZATION_USAGE_VIEWER
COLUMNS viewORGANIZATION_OBJECT_VIEWER
COMPLETE_TASK_GRAPHS viewORGANIZATION_OBJECT_VIEWER
CONTRACT_ITEMS viewORGANIZATION_BILLING_VIEWER
COPY_HISTORY viewORGANIZATION_USAGE_VIEWER
DATABASE_STORAGE_USAGE_HISTORY viewORGANIZATION_USAGE_VIEWER
DATABASES viewORGANIZATION_OBJECT_VIEWER
DATA_TRANSFER_DAILY_HISTORY viewORGANIZATION_USAGE_VIEWER
DATA_TRANSFER_HISTORY viewORGANIZATION_USAGE_VIEWER
FILE_FORMATS viewORGANIZATION_OBJECT_VIEWER
FUNCTIONS viewORGANIZATION_OBJECT_VIEWER
GRANTS_TO_ROLES viewORGANIZATION_SECURITY_VIEWER
GRANTS_TO_USERS viewORGANIZATION_SECURITY_VIEWER
LISTING_AUTO_FULFILLMENT_USAGE_HISTORY viewORGANIZATION_BILLING_VIEWER
LOAD_HISTORY viewORGANIZATION_USAGE_VIEWER
LOCK_WAIT_HISTORY viewORGANIZATION_USAGE_VIEWER
LOGIN_HISTORY viewORGANIZATION_SECURITY_VIEWER
MARKETPLACE_DISBURSEMENT_REPORT ViewORGANIZATION_BILLING_VIEWER
MARKETPLACE_PAID_USAGE_DAILY ViewORGANIZATION_USAGE_VIEWER
MARKETPLACE_PURCHASE_EVENTS viewORGANIZATION_BILLING_VIEWER
MASKING_POLICIES viewORGANIZATION_GOVERNANCE_VIEWER
MATERIALIZED_VIEW_REFRESH_HISTORY viewORGANIZATION_USAGE_VIEWER
METERING_DAILY_HISTORY viewORGANIZATION_USAGE_VIEWER
METERING_HISTORY viewORGANIZATION_USAGE_VIEWER
MONETIZED_USAGE_DAILYORGANIZATION_USAGE_VIEWER
OBJECT_DEPENDENCIES viewORGANIZATION_OBJECT_VIEWER
PASSWORD_POLICIES viewORGANIZATION_SECURITY_VIEWER
PIPE_USAGE_HISTORY viewORGANIZATION_USAGE_VIEWER
PIPES viewORGANIZATION_OBJECT_VIEWER
POLICY_REFERENCES viewORGANIZATION_GOVERNANCE_VIEWER
PROCEDURES viewORGANIZATION_OBJECT_VIEWER
QUERY_ACCELERATION_ELIGIBLE viewORGANIZATION_GOVERNANCE_VIEWER
QUERY_ACCELERATION_HISTORY view
  • ORGANIZATION_GOVERNANCE_VIEWER
  • ORGANIZATION_USAGE_VIEWER
QUERY_ATTRIBUTION_HISTORY view
  • ORGANIZATION_GOVERNANCE_VIEWER
  • ORGANIZATION_USAGE_VIEWER
QUERY_HISTORY viewORGANIZATION_GOVERNANCE_VIEWER
RATE_SHEET_DAILY viewORGANIZATION_BILLING_VIEWER
REFERENTIAL_CONSTRAINTS viewORGANIZATION_OBJECT_VIEWER
REMAINING_BALANCE_DAILY viewORGANIZATION_BILLING_VIEWER
REPLICATION_GROUP_REFRESH_HISTORY viewORGANIZATION_USAGE_VIEWER
REPLICATION_GROUP_USAGE_HISTORY viewORGANIZATION_USAGE_VIEWER
REPLICATION_USAGE_HISTORY viewORGANIZATION_USAGE_VIEWER
RESOURCE_MONITORS viewORGANIZATION_OBJECT_VIEWER
ROLES viewORGANIZATION_SECURITY_VIEWER
ROW_ACCESS_POLICIES viewORGANIZATION_GOVERNANCE_VIEWER
SCHEMATA viewORGANIZATION_OBJECT_VIEWER
SEARCH_OPTIMIZATION_HISTORY viewORGANIZATION_USAGE_VIEWER
SECRETS viewORGANIZATION_SECURITY_VIEWER
SEQUENCES viewORGANIZATION_OBJECT_VIEWER
SESSION_POLICIES viewORGANIZATION_SECURITY_VIEWER
SESSIONS viewORGANIZATION_SECURITY_VIEWER
STAGE_STORAGE_USAGE_HISTORY viewORGANIZATION_USAGE_VIEWER
STAGES viewORGANIZATION_OBJECT_VIEWER
STORAGE_LIFECYCLE_POLICIES viewORGANIZATION_GOVERNANCE_VIEWER
STORAGE_LIFECYCLE_POLICY_HISTORY viewORGANIZATION_GOVERNANCE_VIEWER
STORAGE_DAILY_HISTORY viewORGANIZATION_USAGE_VIEWER
TABLE_CONSTRAINTS viewORGANIZATION_OBJECT_VIEWER
TABLE_STORAGE_METRICS viewORGANIZATION_USAGE_VIEWER
TABLES viewORGANIZATION_OBJECT_VIEWER
TAG_REFERENCES viewORGANIZATION_GOVERNANCE_VIEWER
TAGS viewORGANIZATION_OBJECT_VIEWER
TASK_HISTORY viewORGANIZATION_USAGE_VIEWER
TASK_VERSIONS viewORGANIZATION_OBJECT_VIEWER
TRI_SECRET_SECURE_HISTORY viewORGANIZATION_SECURITY_VIEWER
TRUST_CENTER_FINDINGS viewORGANIZATION_SECURITY_VIEWER
USAGE_IN_CURRENCY_DAILY viewORGANIZATION_BILLING_VIEWER
USERS viewORGANIZATION_SECURITY_VIEWER
VIEWS viewORGANIZATION_OBJECT_VIEWER
WAREHOUSE_EVENTS_HISTORY viewORGANIZATION_USAGE_VIEWER
WAREHOUSE_LOAD_HISTORY viewORGANIZATION_USAGE_VIEWER
WAREHOUSE_METERING_HISTORY viewORGANIZATION_USAGE_VIEWER

Access schema in an ORGADMIN-enabled account

An ORGADMIN-enabled account is a regular account that has the ORGADMIN role enabled. Within a ORGADMIN-enabled account, anyone who has access to the shared SNOWFLAKE database has access to the ORGANIZATION_USAGE schema. By default, only the ACCOUNTADMIN role has privileges to this database, which means the ORGADMIN role does not have the necessary privileges. To grant these privileges to the ORGADMIN role, see Enabling other roles to use schemas in the SNOWFLAKE database.

To grant access to non-administrators, the organization administrator can grant the appropriate database role to an account role or user.

Using the following list to determine which database role grants access to specific views.

The ORGANIZATION_USAGE_VIEWER, ORGANIZATION_BILLING_VIEWER, and ORGANIZATION_ACCOUNTS_VIEWER SNOWFLAKE database roles are granted the SELECT privilege on Organization Usage views in the shared SNOWFLAKE database.

For more information, refer to GRANT DATABASE ROLE.

General usage notes

The Snowflake-specific views are subject to change. Avoid selecting all columns from these views. Instead, select the columns that you want. For example, if you want the name column, use SELECT name, rather than SELECT *.

Treat every historical ORGANIZATION_USAGE query as a warehouse job across all accounts: open the reference topic for that named view (for example QUERY_HISTORY or COPY_HISTORY), bound its primary time column, list the columns you need, and add account_name IN (…) when that column exists on the view and you are not reporting on the full organization. Latency in ORGANIZATION_USAGE views is freshness per view, not query cost.

Organization Usage performance

When you query a specific view in the SNOWFLAKE.ORGANIZATION_USAGE schema, follow the organization-wide guidance in Performance (Organization Usage): bound every scan on history views, list columns explicitly, and use the time filter column table plus worked SQL and anti-patterns there.

Performance

ORGANIZATION_USAGE views can contain large volumes of data across every account in your organization. For each view you query, follow the same two rules on historical and other large views:

  1. Always bound the time range on that view’s primary time column (see the table below, then that view’s reference topic for the exact name and type).
  2. Select explicit columns instead of SELECT *.

Note

This page recommends query patterns and time filters for ORGANIZATION_USAGE. Like Warehouse considerations, it’s general guidance only: not a service commitment, requirement, or guaranteed outcome. See each view’s reference topic for authoritative column definitions and semantics.

Note

For filters, use documented columns from each view’s reference topic, especially the primary time filter column in the following table. Internal ingestion, telemetry, or storage identifiers are not a supported customer SQL surface and can change in any release. Ignore them if they appear in older previews.

Historical views and time filters

Most large ORGANIZATION_USAGE views expose a primary timestamp or date column. Put a bounded range on that column in every query for that view (for example WHERE start_time >= … AND start_time < … on QUERY_HISTORY, using start_time because that is the primary time filter column for QUERY_HISTORY in the table below). Open-ended time ranges force Snowflake to consider the full history across your organization before it can return rows.

The following table lists common historical views (and similar large scans) where bounded time predicates matter most. The table is illustrative, not exhaustive; apply the same bounded-time approach to other historical ORGANIZATION_USAGE views, using each view’s reference topic to choose the column. For each row below, start with the primary time filter column in a bounded predicate (for example WHERE col >= … AND col < …). View revisions (for example v30, v21) change over time; use each view’s reference topic for authoritative column names and types.

ViewPrimary time filter column
QUERY_HISTORYstart_time
QUERY_ACCELERATION_ELIGIBLEstart_time
BACKUP_OPERATION_HISTORYstart_time
SNAPSHOT_OPERATION_HISTORYstart_time
ACCESS_HISTORYquery_start_time
LOGIN_HISTORYevent_timestamp
SESSIONScreated_on
COPY_HISTORYlast_load_time
LOAD_HISTORYlast_load_time
LOCK_WAIT_HISTORYrequested_at
METERING_HISTORY

start_time (bounded range). When you must split usage by Snowflake service, include service_type in the same predicate.

QUERY_ATTRIBUTION_HISTORYstart_time
WAREHOUSE_EVENTS_HISTORYtimestamp
COMPLETE_TASK_GRAPHSquery_start_time
TASK_HISTORYscheduled_time
ALERT_HISTORYscheduled_time
OUTBOUND_PRIVATELINK_ENDPOINTScreated_on

Before joining several ORGANIZATION_USAGE views, apply bounded time predicates on each view you reference (for example bound QUERY_HISTORY.start_time and COPY_HISTORY.last_load_time separately when both appear in the join). For dashboards that rerun the same logic, materialize results in a table you own and refresh it on a schedule instead of rescanning wide history.

Good query patterns

Each example names the ORGANIZATION_USAGE view it applies to. Every example follows the two rules above: bounded time on that view’s primary time column (from the table) and explicit columns in the SELECT list. When that view includes account_name, add AND account_name IN (…) so the scan is limited to the accounts you care about.

QUERY_HISTORY: Bound start_time.

SELECT query_id, start_time, user_name, warehouse_name
  FROM SNOWFLAKE.ORGANIZATION_USAGE.QUERY_HISTORY
  WHERE start_time > '2025-01-01 00:00:00'::timestamp_ltz;

COPY_HISTORY: Bound last_load_time.

SELECT account_name, file_name, error_count, status, last_load_time
  FROM SNOWFLAKE.ORGANIZATION_USAGE.COPY_HISTORY
  WHERE last_load_time >= '2025-01-01 00:00:00'::timestamp_ltz
    AND last_load_time < '2025-02-01 00:00:00'::timestamp_ltz;

DATABASES: Object inventory (no time predicate in this pattern; still list columns).

SELECT database_name, account_name
  FROM SNOWFLAKE.ORGANIZATION_USAGE.DATABASES;

USERS: Filter account_name when you do not need every account.

SELECT account_name, name, login_name
  FROM SNOWFLAKE.ORGANIZATION_USAGE.USERS
  WHERE account_name IN ('ACC1', 'ACC2', 'ACC3');

The DATABASES and USERS examples use object-style views with smaller result sets; keep explicit column lists so downstream schemas stay stable when Snowflake adds columns.

Query patterns to avoid (history views)

The following anti-patterns are shown for specific views; the same issues apply to any large history view when you omit a bounded time predicate on that view’s primary time column (see the table above).

QUERY_HISTORY: Unbounded aggregate.

SELECT COUNT(*) FROM SNOWFLAKE.ORGANIZATION_USAGE.QUERY_HISTORY;

LOAD_HISTORY: LIMIT without a time predicate on last_load_time.

SELECT * FROM SNOWFLAKE.ORGANIZATION_USAGE.LOAD_HISTORY LIMIT 1;

QUERY_ATTRIBUTION_HISTORY: SELECT * with no time predicate on start_time.

SELECT * FROM SNOWFLAKE.ORGANIZATION_USAGE.QUERY_ATTRIBUTION_HISTORY;

Why unbounded patterns are expensive

ORGANIZATION_USAGE views surface organization-wide history. When a query does not include selective time predicates (and account_name filters when you only need certain accounts), Snowflake may need to consider a very large amount of history before it returns rows or completes an aggregate. On wide views such as QUERY_HISTORY, that work can scale to very large row counts, which increases run time and warehouse cost.

The Latency values in ORGANIZATION_USAGE views describe how current the data is for each listed view; they do not remove the need to constrain time ranges (and account_name when applicable) on those same views for large scans.