RoomClip Interior Photo & Tag Scraper
ECOMMERCESOCIAL MEDIA
RoomClip Interior Photo & Tag Scraper
Extract interior photos and shoppable product tags from RoomClip — Japan's largest home-decor photo-sharing community. Collect photo metadata, hashtags, and shoppable product links from tag-based listing pages.
What it does
This actor crawls RoomClip tag pages (e.g. https://roomclip.jp/tag/1 for "部屋全体") and visits each photo detail page to extract structured data. It handles Next.js RSC streaming pages and reads photo data directly from server-rendered script chunks.
For each photo, it extracts:
- Photo ID & hash ID — numeric ID and alphanumeric hash used in the detail URL
- User — display name of the photographer
- Room type — layout designation from the user profile (e.g. 1LDK, 2DK)
- Tags — comma-separated list of hashtags applied to the photo
- Tagged products — JSON-encoded array of shoppable product tags (name, shop, price, product URL, image URL)
- Like count & comment count — engagement metrics
- Caption — text of the author's first comment
- Photo URL — standard-resolution image URL
- Large photo URL — high-resolution image URL
- Detail URL — full URL to the photo detail page
Usage
Basic — scrape photos from a tag page
{
"startUrls": ["https://roomclip.jp/tag/1"],
"maxItems": 50
}
Multiple tags
{
"startUrls": [
"https://roomclip.jp/tag/1",
"https://roomclip.jp/tag/549"
],
"maxItems": 200
}
Input
| Field | Type | Description |
|---|---|---|
startUrls |
Array of strings | RoomClip tag page URLs to scrape |
maxItems |
Integer | Maximum number of photos to collect (default: 10) |
Output
Each dataset record represents one RoomClip photo:
{
"photo_id": 7824410,
"hash_id": "Cnsx",
"user_name": "darlene",
"room_type": "2DK",
"tags": "部屋全体, モノトーン, こどもと暮らす, マンション暮らし",
"tagged_products": "[{\"id\":123,\"name\":\"Product Name\",\"shop_name\":\"IKEA\",\"price\":2990,\"product_url\":\"https://...\"}]",
"like_count": 5,
"comment_count": 0,
"caption": "Author caption text",
"photo_url": "https://cdn.roomclip.jp/photo/640/...",
"large_photo_url": "https://cdn.roomclip.jp/photo/1536/...",
"detail_url": "https://roomclip.jp/photo/Cnsx"
}
Notes
- Japanese-only platform: All tags, captions, and room type labels are in Japanese.
- Tagged products: The
tagged_productsfield is a JSON string — parse withJSON.parse()for structured access. - Geo-routing: Requests route through Japanese IPs to ensure full content delivery.
- Rate limiting: Runs at 10 concurrent requests with automatic rate-limit handling.