Dataroma Superinvestor Portfolios & Stock Holdings Scraper avatar

Dataroma Superinvestor Portfolios & Stock Holdings Scraper

Pricing

from $0.65 / 1,000 results

Go to Apify Store
Dataroma Superinvestor Portfolios & Stock Holdings Scraper

Dataroma Superinvestor Portfolios & Stock Holdings Scraper

Extracts real-time superinvestor 13F stock holdings, portfolio allocations, buy/sell trades, and insider whale activity from Dataroma.

Pricing

from $0.65 / 1,000 results

Rating

0.0

(0)

Developer

T T

T T

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Categories

Share

Extracts superinvestor stock holdings, 13F portfolios and financial metrics from dataroma.com and writes them to the dataset as structured JSON.

Use cases

  • Institutional 13F portfolio tracking and whale wallet monitoring
  • Superinvestor asset allocations and buy/sell trend analysis
  • Quantitative investment research and screening models

What it does

The actor downloads each page, parses the holdings, and stores one record per holding. Each record contains title, url, description, manager, price, weight.

  • Extraction runs over plain HTTP, so runs are fast
  • JSON-LD and embedded page-state data are used when present; otherwise the actor falls back to DOM parsing
  • Duplicate records are removed before the dataset is written
  • Pagination is followed automatically up to the configured page limit

Why choose this scraper

AdvantageThis ScraperTraditional / Generic Scrapers
Speed & EfficiencyFast, lightweight extraction engineHeavy browser overhead & slow execution
Anti-BlockingIntelligent request impersonation & header rotationFrequent 403 blocks & Captcha failures
Pay-Per-ResultPay only for valid returned recordsCharged for full run time even on empty results
Data CleanlinessVerified, typed fields with deduplicationMessy HTML artifacts & missing null checks
MaintenanceMonitored and auto-healed continuouslyBroken when target site updates layout

Output

Sample output

Three example records from a real run:

[
{
"url": "https://www.dataroma.com/m/stock.php?sym=SNX",
"title": "SNX",
"manager": "Abrams Bison Investments",
"description": "SYNNEX Corp.",
"price": "$267.34",
"weight": "26.38% of portfolio"
},
{
"url": "https://www.dataroma.com/m/stock.php?sym=AMAT",
"title": "AMAT",
"manager": "Abrams Bison Investments",
"description": "Applied Materials",
"price": "$723.00",
"weight": "19.48% of portfolio"
},
{
"url": "https://www.dataroma.com/m/stock.php?sym=SN",
"title": "SN",
"manager": "Abrams Bison Investments",
"description": "Sharkninja Inc",
"price": "$152.27",
"weight": "10.67% of portfolio"
}
]

Export the dataset as JSON, CSV or Excel from the Dataset tab after the run.

Output schema

{
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"properties": {
"title": {
"type": "string"
},
"url": {
"type": "string"
},
"description": {
"type": "string"
},
"manager": {
"type": "string"
},
"price": {
"type": "string"
},
"weight": {
"type": "string"
}
}
}

Input

FieldTypeDescription
startUrlsarrayPages to scrape (defaults to https://www.dataroma.com/m/managers.php). The first URL is also the base for relative link resolution. (default: ["https://www.dataroma.com/m/managers.php"])
searchKeywordstringOptional keyword or query to filter listings.
maxPagesintegerMaximum number of pages to crawl before stopping. (default: 10)
maxItemsintegerMaximum number of records to return. Leave empty for no limit.

Pricing

  • Pay-per-result: $1.44 per 1,000 results

  • Billed per result — you only pay for the records that land in your dataset.

  • Volume discounts apply automatically as monthly usage climbs; the "from" price on the store page is the discounted rate.

  • Run start: $5e-05 per GB of memory (a 1 GB run starts for a fraction of a cent); results are billed separately.

  • There is no subscription or minimum spend. A run is charged only for the records that land in your dataset.

Integrations

The actor runs on the Apify platform: call it from the API or the Python and Node.js SDKs, trigger it on a schedule, send results to webhooks, and pipe the dataset into Zapier, Make, Slack or Google Sheets. The dataset is also LLM-ready -- point any tool that reads JSON at it.

How to use via API

Python SDK

from apify_client import ApifyClient
# Initialize the client with your Apify API token
client = ApifyClient("<YOUR_API_TOKEN>")
# Set actor input
run_input = {
"startUrls": ["https://www.dataroma.com/m/managers.php"],
"maxItems": 100,
}
# Run the actor and wait for it to complete
run = client.actor("entrepreneurial_lens_ehi/dataroma-com").call(run_input=run_input)
# Fetch results from the default dataset
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

JavaScript / Node.js SDK

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({
token: '<YOUR_API_TOKEN>',
});
const input = {
startUrls: ['https://www.dataroma.com/m/managers.php'],
maxItems: 100,
};
const run = await client.actor('entrepreneurial_lens_ehi/dataroma-com').call(input);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

FAQ

How much does a run cost? Pay-per-result only. You are charged for the records that land in your dataset ($1.44 per 1,000 results), with no subscription or minimum. Volume discounts apply automatically on higher monthly usage.

What fields do I get? Each record contains title, url, description, manager, price, weight. Fields the source page does not display are omitted -- nothing is fabricated.

How fresh is the data? Extraction reads the live pages at run time. Schedule recurring runs from the platform to keep a monitoring dataset current.

Can I scrape pages other than the default URL? Yes. Pass any URL that matches the site's page structure in startUrls; the actor crawls and extracts from it the same way.

How many records can one run return? Control it with maxPages (crawling depth) and maxItems (a hard cap on returned records).

Is it legal to scrape this data? The actor collects publicly available data only. Check the site's Terms of Service and applicable law (for example GDPR) before bulk collection, and review the platform's own data-collection policy.

How do I export the results? JSON, CSV or Excel from the Dataset tab after the run, or pull the dataset programmatically via the API/SDKs.

What happens if a run fails? The run reports per-record errors instead of failing silently. Retry the run, and open an issue on the Issues tab if a target site keeps blocking extraction.

Limitations

  • The actor extracts what the public pages expose. Fields the site does not display are omitted; nothing is fabricated.
  • Some sites render content client-side. Extraction follows the live markup, so results can change if the site is redesigned.
  • The actor collects publicly available data only. Check the site's Terms of Service and applicable law (for example GDPR) before bulk collection.

Found a problem or want a field added? Open an issue on the Issues tab -- the maintainer responds.