Official portrait of Rep. Mark Sanford (R-SC)
Official portrait: unitedstates/images (public domain; source GPO Member Guide)

Rep. Mark Sanford (R-SC)

House · Republican (most recent term) · SC-1 · in Congress 1995–2019 · Bioguide ID S000051

Party history: R 1995–2019. Source: term data in unitedstates/congress-legislators (CC0); party shown is as recorded per term there.

Estimated net worth (from public disclosures)

EstimateReport yearLowMidHigh
(a) Estimated net worth at the earliest available report (2014); the member entered office earlier, in 19952014$2,329,031$4,132,015$5,934,999
(b) Latest net worth estimate2017$2,805,026$6,265,012$9,724,999
(c) Estimated gain / loss, nominal dollars, 2014 → 2017 (3 years spanned)2014–2017−$3,129,973+$2,132,998+$7,395,968

Gain Low = latest Low − earliest High; Gain High = latest High − earliest Low (widest possible spread); Mid = latest Mid − earliest Mid.

Reliability flags (net worth): 2014: 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket. Included in the recommended dollar-gain ranking.

Net worth by report year (mid; Low–High)
Report yearAssets (mid)Liabilities (mid)Net worth midLow … HighStatus / flags
2014$4,507,016$375,000$4,132,015$2,329,031 … $5,934,999computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket
2015$7,148,016$375,000$6,773,015$3,106,031 … $10,439,999computed; 1 Schedule A row(s) had the upper bound of the range lost in text extraction; completed from the fixed statutory bracket
2016$6,273,014$750,001$5,523,012$2,056,027 … $8,989,998computed
2017$6,640,013$375,000$6,265,012$2,805,026 … $9,724,999computed
Read this first. Members report asset values only as ranges (e.g. “$15,001 – $50,000”), never exact dollars. Every figure below is an estimate computed from range midpoints, not a measured return. Figures cannot be interpreted as investment performance, and they do not show wrongdoing or skill. Methodology and limitations are at the end and in the project README. Sources: public financial disclosure reports filed with the Clerk of the U.S. House of Representatives and/or the Secretary of the Senate (Senate eFD), linked below.
Limited data – not ranked. Only 2 comparable year-pair(s) could be computed (minimum 3 to rank). 4 annual filing(s) were usable (text-readable, validated OCR, or validated X-mark decoding) and 0 scanned/image-only filing(s) could not be used (older layouts failing validation, small amendments not integrated). See the method-per-year section below.

Estimated year-over-year change

-10%0%60%20152016

Bars: midpoint estimate; whisker: same-position floor/ceiling band. Axis clipped to −100%…+150%. Years with insufficient traceable holdings are omitted.

Year (t−1 → t)Opening value (mid)Closing value (mid)Income (mid)Buys (mid)Sales (mid)Est. gainSame-position bandStrict envelopeTraced coverageStatus / flags
2014→2015$4,416,014$6,957,514$119,008$8,000$8,000 +60.2%+27.9% … +75.1%-57% … +178%100%counted; single position drives the result (range jump)
2015→2016$6,307,014$6,057,512$107,957$0$0 -2.2%-2.3% … -1.9%-104% … +100%89%counted
2016→2017$1,207,510$1,250,010$120,706$107,501$75,000 +10.8%+10.5% … +11.6%-86% … +108%19%excluded; not eligible: traced coverage 19% < 60%

Filings used

Each annual-report year uses one filing (most recently filed version among originals/amendments whose Schedule A row count is ≥ 40% of the largest). Electronic (text) PDFs are parsed. Scanned/image-only filings are OCR-read and used only if they pass the explicit validation gates described in the project README (value/income coverage, two-engine agreement, exact bracket snapping, page completeness, year-to-year position continuity); such years are labelled OCR-derived below. Scanned filings that fail validation are listed as “insufficient data – scanned”.

Report yearDoc IDTypeFiledSchedule A rowsRows with unparsed valueSource (official filing) / SHA-256
201410008983House amendment5/16/201633110008983.pdf
f4dd1c952f0e1fbc91b131591a4ddf7d4976ae084ab81776b9bd9e536a11442a
201510011004House annual5/16/201633110011004.pdf
d9f18a1ef862e97879187505eba0007b5d4bdb522c413c6cebecc548e3eb5d6b
201610015661House annual5/10/201731010015661.pdf
30d654a01f191168fbba6c6f7cb6306a3c278164cdaecf2d4d4442554885e1a7
201710022148House annual5/15/201829010022148.pdf
9ff3d997a6ac7157f061687237b5301d73c3c058f5551207cf9ce9d90fba6a13

Largest movers 2014→2015

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
Sanford Land Company ⇒ Sanford Land Company—held$500,001 - $1,000,000$1,000,001 - $5,000,000$0$0
509 King Street Residence—held$250,001 - $500,000$500,001 - $1,000,000$0$0
Bank of america ⇒ Checking account—held$100,001 - $250,000$50,001 - $100,000$0$0
Blue Creek Capital, LLC ⇒ 311 Middle Street—held$1,001 - $15,000$15,001 - $50,000$0$0
Blue Creek Capital, LLC ⇒ Oak Ridge Drive—held$1,001 - $15,000None$0$0
Brick 21, LLC ⇒ 307 Sea Island Parkway—held$50,001 - $100,000$50,001 - $100,000$0$0
Blue Creek Capital, LLC ⇒ 1813 Lovejoy Street—held$15,001 - $50,000$15,001 - $50,000$0$0
Cotton Hope, LLC ⇒ Cotton Hope, LLC—held$500,001 - $1,000,000$500,001 - $1,000,000$0$0

Largest movers 2015→2016

Position (as written in filing)OwnerKindOpening range(s)Closing range(s)Buys (mid)Sales (mid)
Capital One ⇒ Savings account—held$50,001 - $100,000$250,001 - $500,000$0$0
SC Deferred Compensation Fund ⇒ 84M Pre-2010—held$100,001 - $250,000None$0$0
UBS ⇒ Cash balance—held$100,001 - $250,000None$0$0
Merrill Lynch ⇒ Cash Investment account—held$100,001 - $250,000$1,001 - $15,000$0$0
SC Deferred Compensation Fund ⇒ 84M Post 2009—held$15,001 - $50,000None$0$0
Brick 21, LLC ⇒ 307 Sea Island Parkway—held$50,001 - $100,000$50,001 - $100,000$0$0
Blue Creek Capital, LLC ⇒ 1813 Lovejoy Street—held$15,001 - $50,000$15,001 - $50,000$0$0
Cotton Hope, LLC ⇒ Cotton Hope, LLC—held$500,001 - $1,000,000$500,001 - $1,000,000$0$0

Method (summary)

  1. Schedule A asset rows are read from each annual report; the dollar range for each row is converted to its midpoint. Open-ended top ranges (“Over $50,000,000”) are excluded from the traced set and counted as a coverage loss.
  2. Positions are matched year to year by owner code (self/SP/DC/JT) + normalised asset name. A position that appears only in year t is included only if Schedule B shows a purchase of it in year t (opening value 0); a position that disappears is included only if Schedule B shows a sale (closing value 0). Otherwise it is excluded as unexplained.
  3. Estimated gain = (closing − opening + reported income − purchases + sale proceeds) ÷ opening, all at midpoints, for the traced positions. “Capital gains” income is not added again (it is already in value change and sale proceeds).
  4. A year counts only if traced opening value ≥ $50,000 and traced coverage ≥ 60% of the opening midpoint. A member is ranked only with ≥ 3 such years (exactly 2 = “limited data”, shown but unranked). Average = geometric mean of (1+yearly estimate).

Limitations

Generated 2026-10-01 by an automated pipeline. Data: Office of the Clerk, U.S. House of Representatives (disclosures-clerk.house.gov); member roster: unitedstates/congress-legislators (CC0).