# Dribbble Popular Shots (`practicaltools/dribbble-popular-shots`) Actor

Scrape the latest Dribbble popular shots, rich results

- **URL**: https://apify.com/practicaltools/dribbble-popular-shots.md
- **Developed by:** [Practical Tools](https://apify.com/practicaltools) (community)
- **Categories:** Social media, Developer tools, Integrations
- **Stats:** 21 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## 🎨 Dribbble Popular Shots Scraper

**Extract design inspiration data from Dribbble's most popular shots!** Get comprehensive shot data including titles, images, user profiles, engagement metrics, and tags from the world's leading design community.

[![Apify Actor](https://img.shields.io/badge/Apify-Actor-blue)](https://apify.com)
[![Dribbble Scraper](https://img.shields.io/badge/Dribbble-Scraper-orange)](https://dribbble.com)
[![Web Scraping](https://img.shields.io/badge/Web-Scraping-green)](https://docs.apify.com)

### ✨ What You Get

Extract rich design data from Dribbble's popular shots page including:
- **Shot Details**: Titles, descriptions, direct links, and unique IDs
- **Visual Assets**: High-quality image and video URLs (including video teasers)
- **Creator Info**: User profiles, avatars, and Pro account status
- **Engagement Data**: View counts, likes, rebounds, and publication dates
- **Metadata**: Tags, categories, and design trends
- **Structured Output**: Clean JSON data ready for analysis or integration

### 🚀 Perfect For

- **Design Researchers** - Analyze trending design patterns and styles
- **Content Creators** - Find inspiration and trending topics
- **Marketing Teams** - Track design trends and popular creators
- **Developers** - Build design inspiration tools and APIs
- **Design Agencies** - Research competitor work and market trends
- **Data Analysts** - Study design community engagement patterns

### 📊 Output Examples

#### Single Shot Data Structure
```json
{
  "shotId": "26630909",
  "title": "Nurox home page interaction",
  "link": "https://dribbble.com/shots/26630909-Nurox-home-page-interaction",
  "imageUrl": "https://cdn.dribbble.com/userupload/45246976/file/small-b3babe3cc03ae363932a5da04af89c0d.mp4",
  "tags": ["Nurox", "home", "page", "interaction", "blockchain", "crypto", "design"],
  "userName": "Emote",
  "userProfileLink": "https://dribbble.com/emoteagency",
  "userAvatarUrl": "https://cdn.dribbble.com/users/11502486/avatars/small/15f0c2b89bfef25f6fb574e053de97f3.png",
  "isProUser": true,
  "views": "5.7k",
  "likes": 85,
  "publishedAt": "about 4 hours ago",
  "isRebound": null,
  "reboundsCount": 0,
  "videoTeasers": {
    "small": "https://cdn.dribbble.com/userupload/45246976/file/small-b3babe3cc03ae363932a5da04af89c0d.mp4",
    "medium": "https://cdn.dribbble.com/userupload/45246976/file/medium-b3babe3cc03ae363932a5da04af89c0d.mp4",
    "large": "https://cdn.dribbble.com/userupload/45246976/file/large-b3babe3cc03ae363932a5da04af89c0d.mp4"
  }
}
````

#### Complete Dataset Output

```json
[
  {
    "shotId": "26630909",
    "title": "Nurox home page interaction",
    "link": "https://dribbble.com/shots/26630909-Nurox-home-page-interaction",
    "imageUrl": "https://cdn.dribbble.com/userupload/45246976/file/small-b3babe3cc03ae363932a5da04af89c0d.mp4",
    "tags": ["blockchain", "crypto", "fintech", "ui", "ux", "web", "design"],
    "userName": "Emote",
    "userProfileLink": "https://dribbble.com/emoteagency",
    "isProUser": true,
    "views": "5.7k",
    "likes": 85
  },
  {
    "shotId": "26645834",
    "title": "Finance Management App – UI Exploration",
    "link": "https://dribbble.com/shots/26645834-Finance-Management-App-UI-Exploration",
    "imageUrl": "https://cdn.dribbble.com/userupload/45297754/file/214b94b82c1b5f63d24134fd9f4d7161.png",
    "tags": ["finance", "management", "app", "ui", "ux", "mobile", "design"],
    "userName": "Paperpillar",
    "userProfileLink": "https://dribbble.com/paperpillar",
    "isProUser": true,
    "views": "7.1k",
    "likes": 70
  }
]
```

### 🎯 Key Features

- **⚡ Fast & Reliable** - Built with Apify SDK for robust web scraping
- **📱 Mobile-First** - Extracts data from Dribbble's responsive design
- **🎬 Video Support** - Captures video shots with multiple teaser sizes
- **🏷️ Rich Metadata** - Comprehensive tags and categorization
- **👥 Creator Insights** - Detailed user profiles and engagement metrics
- **📈 Trend Analysis** - Perfect for design trend research
- **🔄 Dual Output** - JSON array + individual files for flexibility
- **🎨 User-Friendly Schema** - Clear data structure with field descriptions

### 🚀 Quick Start

1. **Run the Actor** on Apify Platform
2. **Configure Input** - Set the Dribbble page URL (defaults to popular shots)
3. **Get Results** - Download structured JSON data instantly
4. **Integrate** - Use with Zapier, Make, Google Sheets, or your own apps

### 💡 Use Cases

#### Design Research & Inspiration

- Discover trending design styles and color palettes
- Analyze popular UI/UX patterns and interactions
- Track emerging design tools and techniques

#### Market Intelligence

- Monitor design agency portfolios and specialties
- Identify top-performing creators and collaborations
- Research design pricing and service offerings

#### Content Creation

- Build design inspiration databases
- Create automated design trend reports
- Develop recommendation engines for creative work

#### Competitive Analysis

- Track competitor design strategies
- Analyze design community engagement
- Study successful design project presentations

### 🔧 Technical Details

- **Framework**: Apify SDK with Node.js
- **Parsing**: Cheerio for HTML extraction
- **Output**: Structured JSON with validation schema
- **Storage**: Dataset + Key-Value Store formats
- **Rate Limiting**: Respectful scraping with built-in delays

### 📈 Keywords

Dribbble scraper, Dribbble API, design inspiration scraper, UI/UX data extraction, creative community data, design trends analysis, Dribbble popular shots, web design scraper, graphic design data, user experience research, design community insights, creative portfolio analysis, digital design trends, UI design patterns, UX research tools, design inspiration API, creative data mining, design community analytics, visual design research, creative work analysis

### 🌟 Why Choose This Scraper?

- **✅ Production Ready** - Battle-tested on Apify Platform
- **✅ Well Documented** - Clear schema and field descriptions
- **✅ Flexible Output** - Multiple formats for different use cases
- **✅ Creator Focused** - Built by designers for the design community
- **✅ Regularly Updated** - Adapts to Dribbble's evolving design
- **✅ Ethical Scraping** - Respects website terms and rate limits

***

**Ready to extract valuable design insights from Dribbble?** Start scraping popular shots data today and unlock the power of design trend analysis!

[🚀 Try it on Apify](https://apify.com) | [📖 Documentation](https://docs.apify.com) | [💬 Community](https://discord.com/invite/jyEM2PRvMU)

# Actor input Schema

## `url` (type: `string`):

The URL of the Dribbble page you want to scrape shots from.

## Actor input object example

```json
{
  "url": "https://dribbble.com/shots/popular"
}
```

# 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 = {
    "url": "https://dribbble.com/shots/popular"
};

// Run the Actor and wait for it to finish
const run = await client.actor("practicaltools/dribbble-popular-shots").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 = { "url": "https://dribbble.com/shots/popular" }

# Run the Actor and wait for it to finish
run = client.actor("practicaltools/dribbble-popular-shots").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 '{
  "url": "https://dribbble.com/shots/popular"
}' |
apify call practicaltools/dribbble-popular-shots --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=practicaltools/dribbble-popular-shots",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Dribbble Popular Shots",
        "description": "Scrape the latest Dribbble popular shots, rich results",
        "version": "0.0",
        "x-build-id": "bOj76nuCiBGMB8JGh"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/practicaltools~dribbble-popular-shots/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-practicaltools-dribbble-popular-shots",
                "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/practicaltools~dribbble-popular-shots/runs": {
            "post": {
                "operationId": "runs-sync-practicaltools-dribbble-popular-shots",
                "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/practicaltools~dribbble-popular-shots/run-sync": {
            "post": {
                "operationId": "run-sync-practicaltools-dribbble-popular-shots",
                "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",
                "required": [
                    "url"
                ],
                "properties": {
                    "url": {
                        "title": "URL of the Dribbble page",
                        "type": "string",
                        "description": "The URL of the Dribbble page you want to scrape shots from."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
