# TinySeed Portfolio Scraper (`automation-lab/tinyseed-portfolio-scraper`) Actor

🌱 Scrape TinySeed portfolio companies with cohorts, locations, categories, descriptions, logos, and websites for startup research.

- **URL**: https://apify.com/automation-lab/tinyseed-portfolio-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## TinySeed Portfolio Scraper

Extract structured TinySeed portfolio company data from the public TinySeed portfolio page.

The actor is built for startup lead generation, accelerator research, SaaS market mapping, investor monitoring, agency prospecting, and enrichment pipelines that need a clean list of TinySeed-backed companies.

### What does TinySeed Portfolio Scraper do?

TinySeed Portfolio Scraper reads the public TinySeed portfolio page and saves each visible company card as a dataset item.

It captures company names, company websites, cohort names, locations, categories, descriptions, logo URLs, source URLs, and timestamps.

Use it when you need a repeatable dataset instead of manually copying TinySeed portfolio cards into a spreadsheet.

### Who is it for?

- 🌱 Startup researchers building lists of bootstrapped SaaS companies.
- 💼 Agencies looking for funded SaaS prospects.
- 📈 Investors monitoring accelerator-backed companies.
- 🧩 Data teams enriching CRM records with cohort and category context.
- 📰 Analysts tracking TinySeed portfolio growth over time.

### Why use this actor?

Manual portfolio research is slow and inconsistent.

This actor gives you a normalized dataset that is easy to export to CSV, JSON, Excel, Google Sheets, Airtable, or your CRM.

It runs with simple HTTP requests, so it is fast and low cost.

### Data extracted

| Field | Description |
| --- | --- |
| `name` | Portfolio company name |
| `companyUrl` | Company website linked from TinySeed |
| `cohort` | TinySeed cohort heading near the company card |
| `location` | Location shown on the card |
| `categories` | Public category or status tags |
| `description` | Short company description from the portfolio card |
| `logoUrl` | Logo image URL |
| `imageAlt` | Logo alt text when available |
| `sourceUrl` | TinySeed page used for the scrape |
| `scrapedAt` | ISO timestamp for the run |

### How much does it cost to scrape TinySeed portfolio companies?

The actor uses pay-per-event pricing.

There is a small run start event and a per-result event for every saved portfolio company.

A typical scrape of the public portfolio page is inexpensive because the page is available in HTML and does not require browser automation.

### Quick start

1. Open the actor on Apify.
2. Keep the default TinySeed portfolio URL.
3. Optionally add one or more cohort filters.
4. Set the maximum number of companies.
5. Run the actor.
6. Export the dataset.

### Input

```json
{
  "startUrl": "https://tinyseed.com/portfolio/",
  "cohorts": ["Fall 2025"],
  "maxItems": 20
}
````

### Input fields

#### `startUrl`

The TinySeed portfolio page to scrape.

Use the default unless TinySeed moves the portfolio.

#### `cohorts`

Optional list of cohort name fragments.

Examples:

- `Fall 2025`
- `Spring 2025`
- `Spring 2024 Americas`
- `Fall 2024 EMEA`

Leave empty to include all visible cohorts.

#### `maxItems`

Maximum number of company records to save.

Use a low number for a sample run and a higher number for a full export.

### Output example

```json
{
  "name": "Example SaaS",
  "companyUrl": "https://example.com/",
  "cohort": "Fall 2025",
  "location": "Austin, United States",
  "categories": ["SaaS"],
  "description": "Example SaaS helps teams automate workflows.",
  "logoUrl": "https://images.squarespace-cdn.com/.../logo.png",
  "imageAlt": "Example SaaS",
  "sourceUrl": "https://tinyseed.com/portfolio/",
  "scrapedAt": "2026-05-28T08:00:00.000Z"
}
```

### Tips for better results

- 🌱 Use no cohort filter for a complete public portfolio export.
- 🔎 Use cohort filters when you only need recent batches.
- 📉 Keep `maxItems` low when testing integrations.
- 🧹 Deduplicate by `companyUrl` in downstream systems if combining historical runs.

### Common use cases

- Build a TinySeed company lead list.
- Track newly added portfolio companies.
- Compare cohorts by category or location.
- Feed portfolio companies into enrichment tools.
- Monitor SaaS startup ecosystems.

### Integrations

Send results to:

- Google Sheets for prospect review.
- Airtable for startup databases.
- HubSpot or Salesforce for outbound workflows.
- Snowflake, BigQuery, or PostgreSQL for analysis.
- Slack alerts for new cohort monitoring.

### API usage

#### Node.js

```js
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/tinyseed-portfolio-scraper').call({
  startUrl: 'https://tinyseed.com/portfolio/',
  cohorts: ['Fall 2025'],
  maxItems: 20,
});
console.log(run.defaultDatasetId);
```

#### Python

```python
from apify_client import ApifyClient

client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/tinyseed-portfolio-scraper').call(run_input={
    'startUrl': 'https://tinyseed.com/portfolio/',
    'cohorts': ['Fall 2025'],
    'maxItems': 20,
})
print(run['defaultDatasetId'])
```

#### cURL

```bash
curl -X POST 'https://api.apify.com/v2/acts/automation-lab~tinyseed-portfolio-scraper/runs?token=YOUR_APIFY_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"startUrl":"https://tinyseed.com/portfolio/","cohorts":["Fall 2025"],"maxItems":20}'
```

### MCP usage

Use this actor from Apify MCP by enabling the actor-specific tool URL:

```text
https://mcp.apify.com/?tools=automation-lab/tinyseed-portfolio-scraper
```

Claude Code setup:

```bash
claude mcp add apify-tinyseed https://mcp.apify.com/?tools=automation-lab/tinyseed-portfolio-scraper
```

Claude Desktop JSON configuration:

```json
{
  "mcpServers": {
    "apify-tinyseed": {
      "url": "https://mcp.apify.com/?tools=automation-lab/tinyseed-portfolio-scraper"
    }
  }
}
```

Example prompts:

- "Scrape the latest TinySeed cohort and summarize the companies by category."
- "Get TinySeed portfolio companies in EMEA cohorts and prepare a prospecting table."
- "Find TinySeed companies with developer-tools positioning."

### Reliability notes

The actor uses the public HTML returned by TinySeed.

It does not log in, bypass access controls, or use a browser.

If TinySeed changes the Squarespace card layout, some fields may become unavailable until the actor is updated.

### Legality

This actor extracts publicly available information from TinySeed's public portfolio page.

Always use the data responsibly, respect applicable laws, and follow the target site's terms and your own compliance requirements.

### FAQ

#### Does this actor need a browser?

No. TinySeed returns portfolio cards in the initial HTML, so the actor uses fast HTTP scraping.

#### Can I scrape only one cohort?

Yes. Add a cohort filter such as `Fall 2025` or `Spring 2024 Americas`.

### Troubleshooting

#### Why did I get fewer companies than expected?

Check your `cohorts` filter and `maxItems` limit.

A filter like `Fall 2025` only returns matching cohort cards.

#### Why are some categories empty?

TinySeed does not show category tags on every portfolio card.

The actor preserves empty arrays when no tags are visible.

### Related scrapers

Other automation-lab actors that can complement this dataset:

- https://apify.com/automation-lab/ycombinator-scraper
- https://apify.com/automation-lab/betalist-startups-scraper
- https://apify.com/automation-lab/tiny-startups-scraper

### Changelog

#### 0.1

Initial release for public TinySeed portfolio company extraction.

### Support

If you need a field that is visible on TinySeed but not included in the dataset, open an Apify issue with an example URL and expected field.

### Dataset quality checklist

- Company names are strings.
- Website and logo fields are URLs when present.
- Cohort names are copied from TinySeed headings.
- Locations and categories are taken from the visible portfolio cards.
- `scrapedAt` records when the actor ran.

### Advanced workflow

Run this actor on a schedule, store each dataset export, and compare company URLs across runs to detect new portfolio additions.

You can then send only new companies to Slack, HubSpot, Airtable, or an enrichment queue.

### SEO keywords

TinySeed scraper, TinySeed portfolio scraper, TinySeed company data, TinySeed startup leads, accelerator portfolio scraper, SaaS startup scraper.

# Actor input Schema

## `startUrl` (type: `string`):

TinySeed portfolio page to scrape. Leave the prefilled official portfolio URL unless TinySeed changes the page path.

## `cohorts` (type: `array`):

Optional list of cohort names or partial names, such as Fall 2025 or Spring 2024 Americas. Leave empty to scrape all cohorts.

## `maxItems` (type: `integer`):

Maximum number of portfolio company records to save.

## Actor input object example

```json
{
  "startUrl": "https://tinyseed.com/portfolio/",
  "cohorts": [
    "Fall 2025"
  ],
  "maxItems": 20
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrl": "https://tinyseed.com/portfolio/",
    "cohorts": [
        "Fall 2025"
    ],
    "maxItems": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/tinyseed-portfolio-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrl": "https://tinyseed.com/portfolio/",
    "cohorts": ["Fall 2025"],
    "maxItems": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/tinyseed-portfolio-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrl": "https://tinyseed.com/portfolio/",
  "cohorts": [
    "Fall 2025"
  ],
  "maxItems": 20
}' |
apify call automation-lab/tinyseed-portfolio-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/tinyseed-portfolio-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "TinySeed Portfolio Scraper",
        "description": "🌱 Scrape TinySeed portfolio companies with cohorts, locations, categories, descriptions, logos, and websites for startup research.",
        "version": "0.1",
        "x-build-id": "zAPItPvkbxDFQT2rp"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/automation-lab~tinyseed-portfolio-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-automation-lab-tinyseed-portfolio-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/automation-lab~tinyseed-portfolio-scraper/runs": {
            "post": {
                "operationId": "runs-sync-automation-lab-tinyseed-portfolio-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/automation-lab~tinyseed-portfolio-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-automation-lab-tinyseed-portfolio-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "startUrl": {
                        "title": "TinySeed portfolio URL",
                        "type": "string",
                        "description": "TinySeed portfolio page to scrape. Leave the prefilled official portfolio URL unless TinySeed changes the page path.",
                        "default": "https://tinyseed.com/portfolio/"
                    },
                    "cohorts": {
                        "title": "Cohorts to include",
                        "type": "array",
                        "description": "Optional list of cohort names or partial names, such as Fall 2025 or Spring 2024 Americas. Leave empty to scrape all cohorts.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "maxItems": {
                        "title": "Maximum companies",
                        "minimum": 1,
                        "maximum": 1000,
                        "type": "integer",
                        "description": "Maximum number of portfolio company records to save.",
                        "default": 50
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
