SEC Form 3 filings reporting initial statements of beneficial ownership of securities
SEC Form 3 filings reporting initial statements of beneficial ownership of securities. Filed by corporate insiders (directors, officers, and 10%+ shareholders) when they first acquire a position. Can't find what you're looking for? POST feedback to /feedback, no charge.
10000 (raw units)
price
4
calls / 30d
2
unique payers
2026-09-04
updated
Provider
agent.massive.com · discovered, not yet claimed by its owner
Payment (x402 accepts[])
[
{
"scheme": "exact",
"network": "eip155:8453",
"payTo": "0x525f6dDcE9aF7a7179D7696aaBfCd5FCd15a21e6",
"asset": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
"amount": "10000",
"maxTimeoutSeconds": 60
}
]Output schema
{
"bazaar": {
"info": {
"input": {
"method": "GET",
"queryParams": {
"limit": 100,
"sort": "filing_date.desc"
},
"type": "http"
},
"output": {
"example": {
"count": 1,
"next_url": "https://api.massive.com/stocks/filings/vX/form-3?cursor=eyJsaW1pd...",
"request_id": "047c7035a86042b1925118e5f68d81b0",
"results": [
{
"accession_number": "0001628280-26-022046",
"aff_10b5_one": null,
"date_of_original_submission": null,
"direct_or_indirect": "D",
"exercise_date": null,
"exercise_price": null,
"filing_date": "2026-03-30",
"filing_url": "https://www.sec.gov/Archives/edgar/data/1903508/0001628280-26-022046.txt",
"footnotes": [
{
"description": "The options granted on May 17, 2022 vested 100% on the third anniversary of the grant date.",
"id": "F1"
},
{
"description": "The exercise price of the options granted on May 17, 2022 was GPB 8.85, or approximately $11.80 based on a GBP to USD exchange rate as of March 27, 2026 of 1.3336.",
"id": "F2"
}
],
"form_type": "3",
"is_director": false,
"is_officer": true,
"is_other": false,
"is_ten_percent_owner": false,
"issuer_cik": "0001903508",
"issuer_name": "Public Policy Holding Company, Inc.",
"nature_of_ownership": null,
"not_subject_to_section_16": null,
"officer_title": "Chief Administrative Officer",
"owner_cik": "0002125791",
"owner_name": "Mazzanti Matthew Ross",
"period_of_report": "2026-03-20",
"remarks": null,
"security_title": "Options",
"security_type": "derivative",
"shares_owned": null,
"tickers": [
"PPHC"
],
"underlying_security_shares": 9000,
"underlying_security_title": "Common Stock, $0.001 par value"
}
],
"status": "OK"
},
"type": "json"
}
},
"schema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"input": {
"additionalProperties": false,
"properties": {
"method": {
"enum": [
"GET"
],
"type": "string"
},
"queryParams": {
"properties": {
"filing_date": {
"description": "Date when the filing was submitted to the SEC (formatted as YYYY-MM-DD). Value must be formatted 'yyyy-mm-dd'.",
"type": "string"
},
"filing_date.gt": {
"description": "Filter greater than the value. Value must be formatted 'yyyy-mm-dd'.",
"type": "string"
},
"filing_date.gte": {
"description": "Filter greater than or equal to the value. Value must be formatted 'yyyy-mm-dd'.",
"type": "string"
},
"filing_date.lt": {
"description": "Filter less than the value. Value must be formatted 'yyyy-mm-dd'.",
"type": "string"
},
"filing_date.lte": {
"description": "Filter less than or equal to the value. Value must be formatted 'yyyy-mm-dd'.",
"type": "string"
},
"form_type": {
"description": "SEC form type ('3' for initial filing, '3/A' for amendments).",
"type": "string"
},
"issuer_cik": {
"description": "SEC Central Index Key of the issuer company (10 digits, zero-padded).",
"type": "string"
},
"issuer_cik.any_of": {
"description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.",
"type": "string"
},
"limit": {
"default": 100,
"description": "Limit the maximum number of results returned. Defaults to '100' if not specified. The maximum allowed limit is '10000'.",
"maximum": 10000,
"minimum": 1,
"type": "integer"
},
"owner_cik": {
"description": "SEC Central Index Key of the reporting owner (10 digits, zero-padded).",
"type": "string"
},
"owner_cik.any_of": {
"description": "Filter equal to any of the values. Multiple values can be specified by using a comma separated list.",
"type": "string"
},
"sort": {
"default": "filing_date.desc",
"description": "A comma separated list of sort columns. For each column, append '.asc' or '.desc' to specify the sort direction. The sort column defaults to 'filing_date' if not specified. The sort order defaults to 'desc' if not specified.",
"type": "string"
},
"tickers": {
"description": "Filter for arrays that contain the value.",
"type": "string"
},
"tickers.all_of": {
"description": "Filter for arrays that contain all of the values. Multiple values can be specified by using a comma separated list.",
"type": "string"
},
"tickers.any_of": {
"description": "Filter for arrays that contain any of the values. Multiple values can be specified by using a comma separated list.",
"type": "string"
}
},
"type": "object"
},
"type": {
"const": "http",
"type": "string"
}
},
"required": [
"type",
"method"
],
"type": "object"
},
"output": {
"properties": {
"example": {
"type": "object"
},
"type": {
"type": "string"
}
},
"required": [
"type"
],
"type": "object"
}
},
"required": [
"input"
],
"type": "object"
}
}
}Use it
curl
curl "https://agent.massive.com/stocks/filings/vX/form-3" # -> 402 Payment Required, accepts[] lists how to pay # retry with a PAYMENT-SIGNATURE (or PAYMENT header) once paid
JavaScript
const res = await fetch("https://agent.massive.com/stocks/filings/vX/form-3");
if (res.status === 402) {
const { accepts } = await res.json();
// pay one of accepts[] via an x402 client, then retry with the payment header
}Python
import httpx
res = httpx.get("https://agent.massive.com/stocks/filings/vX/form-3")
if res.status_code == 402:
accepts = res.json()["accepts"]
# pay one of accepts[] via an x402 client, then retry with the payment headerMachine-readable
Everything on this page is also available as clean JSON at /resources/6789.json, and this resource appears in /discovery/resources and /discovery/search.