Filings in your Snowflake,
zero ETL.
16M+ regulatory filings delivered via Snowflake Marketplace. Appears as a read-only database in your account — no pipelines to build, no credentials to manage, no data to move.
FinancialReports docs
What Snowflake delivery is, in three lines.
Same data as the API and S3 bucket. Delivered as a live Snowflake database via Marketplace — no pipelines, no egress, no sync jobs to maintain.
A read-only database in your Snowflake.
Tables for FILINGS, COMPANIES, SOURCES, FILING_TYPES, FILING_CATEGORIES, and LANGUAGES. Accept the listing, and it appears in your account within minutes. Query immediately.
Teams that already run on Snowflake.
Quant analysts joining filings to internal models. Data teams building dashboards. Risk desks scanning disclosure patterns. If your analytics stack is Snowflake-native, this is the fastest path to our data.
Annual subscription. You pay your compute.
The data subscription is flat. Snowflake charges your account for query compute (your warehouse, your credits). No data egress fees — Marketplace uses Snowflake's internal replication.
API, S3, or Snowflake — pick by workflow.
All three surfaces serve the same data with the same identifiers. The difference is access pattern and infrastructure fit. Most teams use one primary channel and occasionally cross-reference via the API.
SELECT.SELECT with standard SQL. Seconds.From zero to your first query.
Three steps. No IAM roles, no bucket policies, no ETL code. You need a Snowflake account on any cloud or region — Marketplace handles cross-cloud replication automatically.
Request access
Contact us or email [email protected] with your Snowflake account locator. We'll create a private Marketplace listing scoped to your contract (geography, tier) and invite your account.
Accept the listing
A Snowflake admin on your side accepts the private listing. A read-only database called FINANCIALREPORTS appears in your account. No data moves — Snowflake's auto-fulfillment handles cross-cloud replication.
Query
Point any warehouse at the shared database. The example on the right queries the latest German annual reports. New filings appear automatically — no cron, no sync, no maintenance.
-- Latest annual reports from German companies SELECT f.filing_id, f.company_name, f.title, f.release_datetime, f.fiscal_year, f.processing_status FROM FINANCIALREPORTS.FILINGS f WHERE f.country_code = 'DE' AND f.filing_type_code = '10-K' AND f.release_datetime >= DATEADD(month, -12, CURRENT_TIMESTAMP()) ORDER BY f.release_datetime DESC LIMIT 25; -- Join to your internal portfolio table SELECT p.portfolio_name, f.company_name, f.title, f.release_datetime FROM FINANCIALREPORTS.FILINGS f JOIN my_db.public.portfolio_holdings p ON f.company_id = p.fr_company_id WHERE f.release_datetime >= DATEADD(day, -7, CURRENT_TIMESTAMP()) ORDER BY f.release_datetime DESC;
Six tables, fully denormalized for analytics.
The shared database exposes a flat, analytics-friendly schema. FILINGS is the fact table; everything else is a dimension. Company and classification fields are denormalized on the filing row for single-table queries.
markdown_s3_key and html_s3_key.
FILINGS.source_id.
10-K, IR, ad_hoc, …), name, description. Foreign key for FILINGS.filing_type_id.
FILINGS.language_id.
Tier-based column visibility. The markdown_s3_key and html_s3_key columns are only included in listings that include processed content. Raw-tier contracts see the full filing metadata but not the processed content paths.
S3 → Snowpipe → your account, automatically.
A filing's journey from regulator to your Snowflake. Hourly incremental exports feed Snowpipe; a merge task deduplicates into the master table; Marketplace auto-fulfillment replicates to your cloud and region.
Filing published at source
Issuer publishes to a regulator or exchange. Our scraper picks it up within minutes.
API and webhooks fire
The filing is immediately available via the REST API. Webhook subscribers receive filing.received events.
Incremental Parquet export
A Celery task exports new and updated filings to manifests/incremental/ as Parquet. Runs every hour.
Snowpipe ingests
S3 event notification triggers Snowpipe. New rows land in a staging table. A merge task deduplicates and upserts into the master FILINGS table.
Auto-fulfillment replicates
Snowflake Marketplace auto-fulfillment pushes the new data to your account, regardless of cloud or region. No action needed on your side.
Queryable in your Snowflake
The new filing appears in your shared database. SELECT it immediately — no refresh needed, no cache to invalidate.
Latency vs the API. Snowflake delivery runs on an hourly ingestion cycle, so filings typically appear 1–2 hours after the API. For sub-minute latency, use the API or webhooks as the primary channel and Snowflake for analytics.
Per-client views, Marketplace-native.
Every client gets their own schema with secure views tailored to their contract. Geography filters, column visibility, and tier restrictions are enforced at the view level — not at query time, not in application code.
Country-filtered by contract.
An EU-only contract sees filings from 32 European countries. A global contract sees everything. The filter is in the secure view definition — you can't query outside your scope even if you try.
Column-level access by tier.
Raw tier: all filing metadata plus raw_document_s3_key for the original PDF/HTML/XBRL. Full tier: adds markdown_s3_key and html_s3_key for processed content.
Instant, no data migration.
Adding a country or upgrading to full tier = updating one view definition. Takes effect immediately. No data duplication, no re-export, no client-side changes needed.
S3 keys in the table. Documents in S3.
Snowflake delivers structured metadata. The original filing documents (PDF, HTML, XBRL) live in S3. The raw_document_s3_key column gives you the exact path — pair it with a cross-account IAM grant to fetch binaries directly.
Metadata + S3 keys.
Every filing row includes raw_document_s3_key — the S3 path to the original document. Use it to build download URLs or feed a document processing pipeline.
IAM role for document access.
We grant your IAM role s3:GetObject on the raw document prefix. Same mechanism as S3 bulk delivery — see S3 security docs for details. Provisioned alongside the Snowflake listing.
Questions every prospect asks.
If yours isn't here, email [email protected].
My Snowflake is on AWS US East. Yours is on Azure West Europe. Does this work?
Yes. Snowflake Marketplace handles cross-cloud replication via auto-fulfillment. Your account can be on any cloud (AWS, Azure, GCP) in any region. Replication is managed by Snowflake — no additional setup on your end.
Is there a timing difference between the API and Snowflake?
Yes. The API delivers filings in minutes. Snowflake runs on an hourly ingestion cycle, so filings typically appear 1–2 hours later. Both are well within a 2–4 hour SLA. If sub-hour Snowflake latency becomes important, we can enable near-real-time Snowpipe.
Can I get just one region — say, EU only?
Absolutely. Your listing's secure views are scoped to the geography in your contract. An EU-only contract sees filings from 32 European countries and nothing else. Expanding scope later is a view update — no data migration.
Do I need to build an ETL pipeline?
No. That's the point. Accept the Marketplace listing, and the data appears as a database. New filings flow in automatically via Snowpipe and auto-fulfillment. You don't build, schedule, or maintain anything.
Can I join this to my internal tables?
Yes. The shared database lives alongside your own databases. Standard SQL joins work — JOIN FINANCIALREPORTS.FILINGS ON company_id = …. Filing IDs are stable and match the REST API's id field.
What about the actual PDF/HTML documents?
The Snowflake table contains raw_document_s3_key — the S3 path to the original file. We provision a cross-account IAM grant so you can fetch documents directly from S3. See §07 · Raw document access.
How does this compare to S3 bulk delivery?
S3 gives you raw Parquet, JSONL, and Markdown files — ideal for Spark/Athena/DuckDB workflows and LLM training data. Snowflake gives you a ready-to-query SQL database. Same data, different access pattern. See §02 · Choosing a channel.
What happens if I upgrade my tier mid-contract?
We update the secure view definitions to include additional columns or geographies. The change takes effect immediately — no data duplication, no re-export, no client-side changes.
Ready to add regulatory filings to your Snowflake?
Send us your Snowflake account locator and the geography you need. We'll provision a private Marketplace listing within a business day.