scrape-artist

DimiDumo's avatarfrom DimiDumo

Scrape a specific Instagram artist's profile and recent posts. Use when the user wants to scrape a known artist (e.g., "/scrape-artist username", "scrape @artistname"). Downloads profile data, recent posts, and artwork images to database.

0stars🔀0forks📁View on GitHub🕐Updated Jan 9, 2026

When & Why to Use This Skill

This Claude skill automates the extraction of Instagram artist profiles and their recent posts, including metadata and artwork images. It streamlines the process of gathering creator data and visual assets by navigating the web, executing JavaScript for data extraction, and saving results directly to a local database, making it an essential tool for digital archiving and creator research.

Use Cases

  • Digital Art Archiving: Automatically download and store an artist's portfolio, including high-quality images and captions, for offline inspiration or historical records.
  • Creator Research & Talent Scouting: Systematically collect profile statistics like follower counts and bios to evaluate potential collaborators or market trends in the art industry.
  • Competitive Intelligence: Monitor the posting frequency and content style of specific artists to stay updated on industry standards and popular visual aesthetics.
  • Automated Database Population: Build a structured repository of artist information and visual content for gallery management, mood boards, or art-focused applications.
namescrape-artist
descriptionScrape a specific Instagram artist's profile and recent posts. Use when the user wants to scrape a known artist (e.g., "/scrape-artist username", "scrape @artistname"). Downloads profile data, recent posts, and artwork images to database.

Scrape Artist

Scrape an Instagram artist's profile and recent posts, saving everything to the database.

Usage

/scrape-artist <username>

Workflow

1. Create and start job

bun run cli job create artist <username>
bun run cli job start <job_id>

2. Navigate to profile

navigate to https://www.instagram.com/<username>/

Wait 3 seconds for load.

3. Extract profile data

Use JavaScript to get: username, full name, bio, followers, following, posts count, verified status.

4. Save artist

bun run cli db save-artist '{"username": "<username>", "fullName": "<name>", "bio": "<bio>", "followersCount": <n>, "followingCount": <n>, "postsCount": <n>, "isVerified": false}'

5. Extract posts from grid (Fast Method)

Run JavaScript to log URLs and get captions:

var posts = document.querySelectorAll('a[href*="/p/"]');
var data = [];
for(var i=0; i<10 && i<posts.length; i++){
  var a = posts[i];
  var img = a.querySelector('img');
  if(img && img.src){
    var sc = a.href.split('/p/')[1].split('/')[0];
    console.log('IMGURL:' + sc + ':' + img.src);
    data.push({shortcode: sc, alt: img.alt || ''});
  }
}
JSON.stringify(data)

Read URLs from console:

read_console_messages(tabId, pattern="IMGURL", limit=20)

6. Download images

mkdir -p ./data/images/<username>
curl -s -o "./data/images/<username>/<shortcode>_0.jpg" "<image_url>"

7. Save posts

bun run cli db save-post '{"shortcode": "<sc>", "artistUsername": "<user>", "postType": "image", "caption": "<alt>"}'
bun run cli db update-post-image "<shortcode>" "./data/images/<username>/<shortcode>_0.jpg"

8. Complete job

bun run cli job complete <job_id> <posts_scraped>

Error Handling

bun run cli job fail <job_id> "<error_message>"

Common issues:

  • Profile not found: Username doesn't exist or is private
  • Login required: User needs to authenticate in Chrome
  • Rate limited: Increase delay between requests