# LiveMe Scraper (`nickslam/liveme-scraper`) Actor

Extract live rooms from LiveMe.com: streamer info, titles, viewers, heat, thumbnails, country. No login required. Export JSON/CSV/Excel or run via API.

- **URL**: https://apify.com/nickslam/liveme-scraper.md
- **Developed by:** [Nick](https://apify.com/nickslam) (community)
- **Categories:** Social media, Videos
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $1.20 / 1,000 live rooms

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

### What does LiveMe Scraper do?

**LiveMe Scraper** extracts structured data from [LiveMe.com](https://www.liveme.com) live rooms — without login, without a browser, and without the official (non-existent public) LiveMe developer API.

Use it to collect:

- **Live room data**: room ID, watch URL, title, viewer count, heat score, likes, shares, start time
- **Streamer info**: user ID, display name, short ID, avatar
- **Discovery metadata**: country / area, inferred language, topic (e.g. games), which feed found the room
- **Thumbnails**: CDN cover images ready for catalogs and dashboards
- Optional **signed HLS/FLV URLs** (paid add-on — expire quickly)
- Optional **raw API payload** (paid add-on — 100+ fields)

Export results as **JSON, CSV, Excel, or HTML**, run on a schedule, or call the Actor via **API / MCP**.

***

### What data can you get from LiveMe?

| Field | Description |
| --- | --- |
| 🆔 `roomId` | Live room / video id (`vid`) |
| 🔗 `url` | Public watch link `https://www.liveme.com/{roomId}` |
| 📝 `title` | Stream title |
| 👁 `viewers` | Current viewer-ish count |
| 🔥 `heat` | Ranking / heat score |
| ❤️ `likes` / 🔁 `shares` | Engagement counters when present |
| 🖼 `thumbnailUrl` / `avatarUrl` | CDN images |
| 🌍 `countryCode` / `area` / `language` | Geo signals |
| 👤 `streamer.*` | Anchor id, username, short id |
| 📡 `feed` | Source feed (Hot, New, Boys, Talent, Games…) |
| ⏱ `startedAt` / `scrapedAt` | Timestamps |

***

### How to scrape LiveMe with LiveMe Scraper

1. [Create](https://console.apify.com/) a free Apify account using your email
2. Open [LiveMe Scraper](https://apify.com/nickslam/liveme-scraper)
3. Keep the default feeds / countries (or set your own) and max rooms
4. Click **Start** and wait for the data to be extracted
5. Download your data in JSON, CSV, Excel, or HTML

#### Input example

```json
{
    "feeds": ["featurelist", "homepageNew"],
    "countries": ["US", "JP", "CN"],
    "maxItems": 50,
    "minViewers": 0,
    "sortBy": "viewers",
    "includeStreamUrls": false,
    "includeRaw": false
}
```

**Tip:** LiveMe’s catalog is **geo-shaped**. United States / Japan / China overlap somewhat; Egypt / Turkey / Saudi Arabia are a largely separate MENA pool.

#### Output example

```json
{
    "roomId": "1234567890123456789",
    "url": "https://www.liveme.com/1234567890123456789",
    "title": "Good vibes only ✨",
    "viewers": 1842,
    "heat": 95600,
    "likes": 120,
    "shares": 3,
    "thumbnailUrl": "https://esxscloud.com/…/cover.jpg",
    "avatarUrl": "https://esxscloud.com/…/face.jpg",
    "isLive": true,
    "startedAt": "2026-08-04T18:12:01.000Z",
    "countryCode": "US",
    "area": "A_US",
    "language": "en",
    "topic": null,
    "feed": "featurelist",
    "streamer": {
        "id": "987654321",
        "username": "creator_name",
        "shortId": "creator",
        "profileUrl": "https://www.liveme.com/1234567890123456789"
    },
    "scrapedAt": "2026-08-04T20:00:00.000Z"
}
```

***

### How can I use LiveMe data?

- 📡 Build or refresh a **multi-platform live catalog** (alongside Twitch, Kick, TikTok LIVE)
- 🧐 Discover **creators by region** (US vs MENA vs JP/CN pools)
- 📈 Track **viewer / heat trends** on a schedule
- 🤝 Source leads for **influencer outreach** on LiveMe
- 🔍 Monitor **topics** (e.g. game lives) without maintaining your own scraper
- 🧪 Feed dashboards, warehouses, or AI agents via Apify integrations

***

### Pricing

**Pay-per-event** (you pay for results, not browser compute — the Actor uses LiveMe’s public catalog API):

| Event | FREE tier | What you pay for |
| --- | ---: | --- |
| Actor start | $0.001 | Each run |
| Live room | **$0.0025** (~$2.50 / 1,000) | Each unique live room in the dataset |
| Add-on: stream URLs | $0.0015 / room | Temporary HLS/FLV fields |
| Add-on: raw payload | $0.0005 / room | Full `raw` API object |

Higher Apify subscription tiers get discounted room/add-on prices. Example: 200 rooms ≈ **$0.50** on FREE (+ $0.001 start).

***

### FAQ

#### Do I need a LiveMe account or API key?

No. The Actor uses the same anonymous catalog endpoints the LiveMe website calls for Hot / New / Games-style pages.

#### Why do countries matter?

LiveMe returns different live pools per country. US / Japan / China overlap somewhat; **Egypt / Turkey / Saudi Arabia** unlock a largely separate MENA set.

#### Can I get the actual video stream?

Optionally enable **Include signed stream URLs**. Those HLS/FLV links are **short-lived** and should not be stored permanently. For product UIs, prefer linking users to `https://www.liveme.com/{roomId}`.

#### Is it legal to scrape LiveMe?

Scraping publicly available data is generally legal when you respect copyright, personal data rules (e.g. GDPR), and the site’s terms. This Actor collects **public live-room metadata**, not private messages or credentials. If unsure, consult your lawyers. See also [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/).

#### Why is coverage not every room on LiveMe?

Anonymous feeds cover the **public discovery** surface (hundreds of rooms per run). Some worldwide / authenticated endpoints require tokens and are out of scope for v1.

#### Can I run this via API or MCP?

Yes. Use the Apify API, `apify-client` (JS/Python), schedules, webhooks, or the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp).

***

### Feedback

Found a bug or need a feed (e.g. Worldwide with token, profile enrich)? Open an issue on the Actor’s **Issues** tab in Apify Console.

# Actor input Schema

## `feeds` (type: `array`):

Which LiveMe discovery feeds to query. More feeds = broader coverage (more API calls).

## `countries` (type: `array`):

Countries used as LiveMe catalog pools. Each selected country is requested separately — pick several for broader coverage.

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

Cap on unique live rooms returned (after dedupe + filters). Set <code>0</code> for no limit.

## `minViewers` (type: `integer`):

Keep only rooms with at least this many viewers.

## `sortBy` (type: `string`):

How to order the final dataset.

## `featurelistPages` (type: `integer`):

How deep to paginate the Hot feed for each selected country. The Actor also queries several internal Hot “shelves” (same as the website) and shuffles them each run so capped results stay diverse. Example: 3 pages × 3 countries × 3 shelves ≈ up to 27 Hot API calls. Higher = more rooms, more API calls. Duplicates are merged by room id.

## `homepagePages` (type: `integer`):

How many pages to fetch from Homepage New for <b>each selected country</b>. Example: 2 pages × 3 countries = 6 API calls. Only used when the Homepage New feed is enabled. Results are deduped with Hot and other feeds.

## `boysPages` (type: `integer`):

Pagination depth for the Boys and Girls tabs, per selected country. Only used when those feeds are enabled. Same multiplier idea: pages × countries (× each enabled gender feed).

## `requestDelayMs` (type: `integer`):

Polite delay between LiveMe API calls. Lower = faster runs, higher risk of rate limits; higher = slower but safer.

## `includeStreamUrls` (type: `boolean`):

Paid add-on. Include temporary signed HLS/FLV playback URLs from the API. They expire quickly — do not store permanently. Prefer linking to <code>https://www.liveme.com/{roomId}</code>.

## `includeRaw` (type: `boolean`):

Paid add-on. Attach the full room object (~100+ fields) under <code>raw</code> for power users / debugging.

## Actor input object example

```json
{
  "feeds": [
    "featurelist",
    "homepageNew"
  ],
  "countries": [
    "US",
    "JP",
    "CN"
  ],
  "maxItems": 50,
  "minViewers": 0,
  "sortBy": "viewers",
  "featurelistPages": 3,
  "homepagePages": 2,
  "boysPages": 2,
  "requestDelayMs": 120,
  "includeStreamUrls": false,
  "includeRaw": false
}
```

# Actor output Schema

## `liveRooms` (type: `string`):

Unique live rooms with streamer, viewers, heat, thumbnails, and geo metadata.

# 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 = {
    "feeds": [
        "featurelist",
        "homepageNew"
    ],
    "countries": [
        "US",
        "JP",
        "CN"
    ],
    "maxItems": 50,
    "minViewers": 0,
    "featurelistPages": 3,
    "homepagePages": 2,
    "boysPages": 2,
    "requestDelayMs": 120
};

// Run the Actor and wait for it to finish
const run = await client.actor("nickslam/liveme-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 = {
    "feeds": [
        "featurelist",
        "homepageNew",
    ],
    "countries": [
        "US",
        "JP",
        "CN",
    ],
    "maxItems": 50,
    "minViewers": 0,
    "featurelistPages": 3,
    "homepagePages": 2,
    "boysPages": 2,
    "requestDelayMs": 120,
}

# Run the Actor and wait for it to finish
run = client.actor("nickslam/liveme-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 '{
  "feeds": [
    "featurelist",
    "homepageNew"
  ],
  "countries": [
    "US",
    "JP",
    "CN"
  ],
  "maxItems": 50,
  "minViewers": 0,
  "featurelistPages": 3,
  "homepagePages": 2,
  "boysPages": 2,
  "requestDelayMs": 120
}' |
apify call nickslam/liveme-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,nickslam/liveme-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/mRaII1UTESYDX9q29/builds/NObHkUPpQJgsTbdC6/openapi.json
