# Linkpop Scraper | Shopify Store Leads & Link-in-Bio Data (`ahmed_jasarevic/linkpop-scraper`) Actor

Scrape Linkpop.com — Shopify's link-in-bio platform — for Shopify store leads and influencer data. Extract display name, bio, all links, social handles, store URL, and Shopify Storefront API token. Build creator and store databases for influencer marketing and e-commerce research.

- **URL**: https://apify.com/ahmed\_jasarevic/linkpop-scraper.md
- **Developed by:** [Ahmed Jasarevic](https://apify.com/ahmed_jasarevic) (community)
- **Categories:**
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 results

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Linkpop Scraper — Shopify Link-in-Bio & Creator Data

Extract structured profile data from **Linkpop.com** — Shopify's free **link-in-bio** platform — for
**e-commerce intelligence, influencer marketing, and Shopify store lead generation**. Pull display
name, bio, avatar, **all links (including Shopify product links)**, social handles, **store URL, and
the Shopify Storefront API access token** — directly from server-rendered HTML, no browser required.

### Main Use Cases

- **E-commerce intelligence** — discover which products Shopify merchants promote on their Linkpop pages
- **Shopify store lead generation** — find store URLs and Shopify Storefront API tokens from public profiles
- **Influencer marketing / creator discovery** — map creators and the social platforms they drive traffic to
- **Competitor research** — analyze the link strategies and product catalogs of Shopify brands
- **Agency prospecting & creator outreach** — identify potential clients by their Linkpop presence and store setup
- **Data enrichment** — add social handles, bio text, and avatar URLs to your prospect database

### Discover Shopify Stores & Shoppable Links From Public Linkpop Profiles

Linkpop is Shopify's native link-in-bio tool, and its profiles are **server-rendered** — meaning the
full profile (display name, bio, avatar, every link, social accounts, and even the **Shopify
Storefront API access token** used to load the store's products) is present in the raw HTML. This
actor parses that HTML with **no browser**, returning one clean JSON profile per page that you can
filter, join, and export.

### Input

| Field | Type | Required | Default | Notes |
|---|---|---|---|---|
| `startUrls` | array | **Yes** | — | Linkpop profile URLs to scrape (e.g. `https://linkpop.com/username`) |
| `maxRequestsPerCrawl` | integer | No | `100` | Max profiles to scrape in one run (1–1000) |
| `proxyConfiguration` | object | No | Apify proxy | Apify proxy recommended for high-volume runs |

### Example Input

```json
{
  "startUrls": [
    { "url": "https://linkpop.com/thewildsmade" },
    { "url": "https://linkpop.com/lego_osrs" }
  ],
  "maxRequestsPerCrawl": 50
}
```

### Output

One profile per dataset item: `url`, `username`, `displayName`, `bio`, `avatarUrl`, `storeUrl`,
`storefrontAccessToken`, `links` (including Shopify product links), `socialAccounts`, `socialLinks`,
`themeSettings`, and `scrapedAt` timestamp.

### Example Output

```json
{
  "url": "https://linkpop.com/thewildsmade",
  "username": "thewildsmade",
  "displayName": "handbeaded things.",
  "bio": "All goods are handmade to order...",
  "avatarUrl": "https://cdn.shopify.com/b/shopify-linkpop-prod/....png",
  "storeUrl": "https://d9c1b8.myshopify.com",
  "storefrontAccessToken": "9677e309d0a5a25e288bcd22f5086fbf",
  "links": [ { "__typename": "ShoppableLink", "id": "192474919", "title": "the Mesa", "productId": "gid://shopify/Product/8075944788281" } ],
  "socialAccounts": [ { "id": "314808", "handle": "thewildsmade", "network": "instagram" } ],
  "socialLinks": [ { "network": "instagram", "url": "https://www.instagram.com/thewildsmade" } ]
}
```

<sub>Illustrative example matching the actor's documented output schema.</sub>

### Scheduling, Monitoring & Automation

Run on a **schedule to keep your creator / Shopify-store database fresh** — re-scrape monthly or
weekly to catch new Shoppable Links and updated social handles. Results stream via the Apify **API**
and **webhooks** and export to JSON/CSV/Excel for your CRM or influencer-marketing pipeline.

### FAQ

#### Why use this actor instead of a Linkpop / Shopify API?

Linkpop has **no public API** for profile data. This actor reads the same server-rendered pages a
browser sees, extracting the full profile **including the Shopify Storefront API access token** that
lets you query the merchant's product catalog — a capability a generic browser screenshot can't give
you. No browser, no login.

#### What are the alternatives to this actor for link-in-bio / creator data?

Other link-in-bio scrapers on Apify (Komi, Milkshake, ContactInBio — many owned by the same creator)
and influencer-marketing platforms. This actor's edge: Shopify-native extraction with store URL and
Storefront API token.

#### How do I find Shopify stores and influencer profiles en masse?

Feed `startUrls` with a list of Linkpop profile URLs (one per merchant/creator) and this actor
returns each profile's store URL, links, and social accounts — build your store/creator database in
one schedule.

#### How do I get a Shopify Storefront API access token?

The `storefrontAccessToken` field is extracted directly from each public Linkpop page's embedded
store config — no credentials needed, it's public data the page itself uses.

#### What can I build with this data?

Shopify store discovery, influencer/creator databases for outreach, e-commerce competitor research,
and CRM enrichment — export to JSON/CSV/Excel or push via webhooks.

### For AI Agents & LLM Apps

**Purpose:** Extracts one structured record per Linkpop profile — creator display name, bio, avatar,
all links (incl. Shopify product links), social accounts, and the Shopify Storefront API access token.

**Minimal working input** (`startUrls` required, one profile):

```json
{ "startUrls": [{ "url": "https://linkpop.com/thewildsmade" }] }
```

**Typical input** (batch, capped):

```json
{ "startUrls": [{ "url": "https://linkpop.com/thewildsmade" }, { "url": "https://linkpop.com/lego_osrs" }], "maxRequestsPerCrawl": 100 }
```

**Output fields:** `url`, `username`, `displayName`, `bio`, `avatarUrl`, `storeUrl`,
`storefrontAccessToken`, `links`, `socialAccounts`, `socialLinks`, `themeSettings`, `scrapedAt`.

**Behaviors an agent should know:**

- `startUrls` is **required** — the actor crawls nothing without at least one profile URL.
- Each URL must be a `{"url": "..."}` object (requestListSources format).
- `maxRequestsPerCrawl` caps the number of profiles (default 100, max 1000).
- Apify proxy is recommended for high-volume runs.
- The `links` array includes Shopify `ShoppableLink` entries with `productId` — usable for
  storefront product queries via the extracted `storefrontAccessToken`.

**Billing:** pay-per-usage (Apify compute units) — free tier available for small runs.

### Legal & Compliance Disclaimer

This actor is an independent tool and is **not affiliated with, endorsed by, or sponsored by Shopify
or Linkpop**. It accesses **only publicly available** Linkpop profile pages — no login bypass and no
CAPTCHA solving. The **Shopify Storefront API access token** it extracts is public data embedded in
the page (the same value the page itself uses); treat it as public and do not misuse it. As with all
web scraping, you are responsible for complying with Linkpop's/Shopify's Terms of Service and
applicable law (GDPR). This summary is informational, not legal advice.

### SEO Keywords

linkpop scraper, link in bio data, shopify influencer marketing, shopify store lead generation, creator discovery, influencer marketing data, shopify storefront api token, e-commerce competitor research, creator outreach, linkpop.com api alternative, shopify store database, creator database, shippable links data, social handles scraping, influencer database

### Related Actors

Verified related actors on Apify that pair well with this one. All links point to real, publicly available actors.

- [Instagram Profile Scraper](https://apify.com/apify/instagram-profile-scraper)
- [eBay Scraper](https://apify.com/automation-lab/ebay-scraper)
- [TikTok Profile Scraper](https://apify.com/clockworks/tiktok-profile-scraper)

# Actor input Schema

## `startUrls` (type: `array`):

Linkpop profile URLs to scrape (e.g. https://linkpop.com/username).

## `maxRequestsPerCrawl` (type: `integer`):

Maximum number of profiles to scrape in a single run.

## `proxyConfiguration` (type: `object`):

Proxy settings. Apify proxy is recommended for high-volume runs.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://linkpop.com/thewildsmade"
    },
    {
      "url": "https://linkpop.com/lego_osrs"
    }
  ],
  "maxRequestsPerCrawl": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "startUrls": [
        {
            "url": "https://linkpop.com/thewildsmade"
        },
        {
            "url": "https://linkpop.com/lego_osrs"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("ahmed_jasarevic/linkpop-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 = { "startUrls": [
        { "url": "https://linkpop.com/thewildsmade" },
        { "url": "https://linkpop.com/lego_osrs" },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("ahmed_jasarevic/linkpop-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "startUrls": [
    {
      "url": "https://linkpop.com/thewildsmade"
    },
    {
      "url": "https://linkpop.com/lego_osrs"
    }
  ]
}' |
apify call ahmed_jasarevic/linkpop-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,ahmed_jasarevic/linkpop-scraper"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/mEhdBIccBUuHlbqjf/builds/mzz88JRgdp4MXRxdH/openapi.json
