# Threads Profile Scraper (`igview-owner/meta-threads-profile-scraper`) Actor

Collect public Meta Threads profile data for research, analytics and competitor tracking. Simple input, structured output, ready to use in your workflow.

- **URL**: https://apify.com/igview-owner/meta-threads-profile-scraper.md
- **Developed by:** [Sachin Kumar Yadav](https://apify.com/igview-owner) (community)
- **Categories:** Social media, Developer tools, Other
- **Features:** Limited permissions
- **Stats:** 89 total users, 5 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $5.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.
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?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 🧵 Meta Threads Profile Scraper - Extract Profile Data & Analytics

A powerful Apify actor that scrapes Meta Threads profiles and extracts comprehensive profile data including followers, bio, verification status, and profile information. This tool serves as a fast, reliable, and scalable **threads profile scraper**, **meta threads scraper**, and **threads.net profile extractor**. Perfect for social media research, competitor analysis, and influencer discovery.

### 📋 Table of Contents

- [🚀 Features](#-features)
- [⚙️ Input Configuration](#️-input-configuration)
- [📊 Output Data Structure](#-output-data-structure)
- [💡 Use Cases](#-use-cases)
- [📈 Performance & Scalability](#-performance--scalability)
- [🔧 Error Handling](#-error-handling)
- [📤 Export Options](#-export-options)
- [🌐 Related Threads Actors](#-related-threads-actors)
- [❓ FAQ](#-faq)
- [🛡️ Compliance & Ethics](#️-compliance--ethics)
- [📞 Support](#-support)

### 🚀 Features

| Feature | Description | Status |
|---------|-------------|--------|
| 🔗 **Multiple Username Support** | Process multiple Threads usernames in a single run | ✅ |
| 🌐 **URL Support** | Accept both usernames and full Threads URLs | ✅ |
| 🛡️ **Error Handling** | Comprehensive error handling with detailed logging | ✅ |
| 📊 **Data Normalization** | Clean, structured output with all essential profile information | ✅ |
| ✅ **Input Validation** | Robust username and URL validation and sanitization | ✅ |
| 🎯 **Profile Data Extractor** | Extract complete profile info including bio, images, follower counts | ✅ |
| 🖼️ **Media Fields** | High-resolution profile pictures and bio links | ✅ |
| 🏆 **Verification Status** | Extract verification badges and account status | ✅ |
| 📦 **Flexible Export** | Export data to CSV and JSON formats | ✅ |
| 📈 **Scalable & Reliable** | Built for production use with rate limiting and logging | ✅ |

### ⚙️ Input Configuration

#### Required Parameters

| Parameter | Type | Description | Example |
|-----------|------|-------------|---------|
| `usernames` | Array | List of Threads usernames or full URLs to scrape | `["kimkardashian", "zuck"]` |

#### 📝 Example Input Configurations

##### Basic Usage

```json
{
  "usernames": ["kimkardashian", "zuck"]
}
```

##### URL Support

```json
{
  "usernames": ["https://threads.net/@instagram", "https://threads.net/@meta"]
}
```

##### Mixed Input (Usernames and URLs)

```json
{
  "usernames": ["kimkardashian", "https://threads.net/@instagram", "zuck"]
}
```

### 📊 Output Data Structure

The actor outputs comprehensive Threads profile data with the following structure:

#### 👤 Core Profile Information

| Field | Type | Description |
|-------|------|-------------|
| `username` | String | Original username requested |
| `user_id` | String | Unique Threads user ID |
| `full_name` | String | Display name |
| `biography` | String | Profile bio/description |

#### 📈 Engagement & Status

| Field | Type | Description |
|-------|------|-------------|
| `follower_count` | Number | Number of followers |
| `is_verified` | Boolean | Verification badge status |
| `is_private` | Boolean | Whether account is private |
| `is_ig_threads_connected_user` | Boolean | Instagram connection status |

#### 🖼️ Media & Links

| Field | Type | Description |
|-------|------|-------------|
| `profile_pic_url` | String | Standard profile picture URL |
| `hd_profile_pic_url` | String | High-resolution profile picture URL |
| `bio_links` | Array | Links in bio section |

#### 🏆 Additional Features

| Field | Type | Description |
|-------|------|-------------|
| `show_text_post_app_badge` | Boolean | Text post app badge status |
| `transparency_label` | Object | Transparency information |
| `platform_podcast_info` | Object | Podcast information if available |

#### 📊 Status & Metadata

| Field | Type | Description |
|-------|------|-------------|
| `success` | Boolean | Whether scraping was successful |
| `status_code` | Number | HTTP status code (200 for success) |
| `status_message` | String | Human-readable status message |
| `scraped_at` | String | ISO timestamp of data collection |

### 💡 Use Cases

#### 🎯 Who is this for?

| Use Case | Description | Benefits |
|----------|-------------|----------|
| 🔍 **Influencer Research** | Discover and analyze Threads influencers | Find creators by follower count, verification status |
| 📊 **Social Media Analytics** | Track profile metrics and engagement | Monitor follower growth, bio changes |
| 🏢 **Competitor Analysis** | Benchmark against competitor profiles | Compare follower counts, content strategy |
| 📚 **Academic Research** | Study social media behavior patterns | Export clean datasets for analysis |
| 💼 **Lead Generation** | Build prospect lists from public profiles | Identify potential customers or partners |
| 📈 **Brand Monitoring** | Track brand mentions and profile changes | Monitor reputation and engagement |

### 📈 Performance & Scalability

#### ⚡ Performance Metrics

| Metric | Value | Description |
|--------|-------|-------------|
| **Processing Speed** | ~30 profiles/minute | With default 2s delay |
| **Success Rate** | >95% | For public profiles |
| **Timeout** | 30 seconds | Per API request |
| **Batch Size** | 1-100 profiles | Per run |

#### 🔧 Optimization Tips

- **Rate Limiting**: Use 2-5 second delays for stability
- **Batch Processing**: Process 10-50 profiles per run for optimal performance
- **Error Recovery**: Failed requests are logged and can be retried
- **Scalability**: Run multiple actors in parallel for large datasets

### 🔧 Error Handling

#### 📊 Custom Status Codes

| Status Code | Message | Description |
|-------------|---------|-------------|
| 200 | Profile fetched successfully | ✅ Success |
| 401 | Invalid key | 🔑 Authentication failed |
| 403 | Access forbidden | 🚫 Permission denied |
| 404 | User not found | 👤 Profile doesn't exist |
| 429 | Rate limit exceeded | ⏱️ Too many requests |
| 500 | Server error | 🔧 Internal server error |
| 0 | Network connection failed | 🌐 Connection issue |

#### 🛡️ Error Recovery

- **Automatic Retry**: Failed requests are logged with detailed error information
- **Graceful Degradation**: Partial failures don't stop the entire run
- **Detailed Logging**: All errors include status codes and human-readable messages
- **Data Preservation**: Error information is saved to the dataset for analysis

### 📤 Export Options

#### 📊 Supported Formats

| Format | Use Case | Features |
|--------|----------|----------|
| **CSV** | Spreadsheets, BI tools | Tabular data, easy filtering |
| **JSON** | APIs, databases | Full structure preservation |
| **API** | Real-time integration | Direct dataset access |

#### 🔗 Export Examples

##### CSV Export

```bash
curl "https://api.apify.com/v2/datasets/YOUR_DATASET_ID/items?format=csv&clean=true"
```

##### JSON Export

```bash
curl "https://api.apify.com/v2/datasets/YOUR_DATASET_ID/items?format=json&clean=true"
```

##### Filtered Export

```bash
curl "https://api.apify.com/v2/datasets/YOUR_DATASET_ID/items?format=csv&fields=username,full_name,follower_count,is_verified"
```

### 🌐 Related Threads Actors

If you are building a complete Threads data workflow, these additional actors work great alongside this **Threads Profile Scraper**:

- **Threads Search Scraper** – Search Threads for profiles and content by keyword or query.
  - https://apify.com/igview-owner/threads-search-scraper
- **Threads Scraper Lite** – Lightweight Threads scraper for quick, low-cost runs.
  - https://apify.com/igview-owner/threads-scraper-lite
- **Threads Scraper Pro** – Advanced Threads scraper with richer data and more controls.
  - https://apify.com/igview-owner/threads-scraper-pro

### ❓ FAQ

#### 🤔 Common Questions

**Q: Do I need to log in to Threads?**
A: No, this actor scrapes public profile data without requiring authentication.

**Q: How do I handle rate limits?**
A: Increase the `delayBetweenRequests` parameter (2-5 seconds recommended) and process profiles in smaller batches.

**Q: Can I scrape private profiles?**
A: No, this actor only extracts data from public Threads profiles.

**Q: What happens if a profile doesn't exist?**
A: The actor will log a 404 error and continue processing other profiles.

**Q: How accurate is the follower count?**
A: Follower counts are extracted in real-time and reflect the current public count.

**Q: Can I export the data to my database?**
A: Yes, use the Apify dataset API or export to CSV/JSON for database import.

**Q: Is there a limit on how many profiles I can scrape?**
A: The actor supports up to 100 profiles per run. For larger datasets, run multiple instances.

#### 🔧 Technical Questions

**Q: What's the difference between `profile_pic_url` and `hd_profile_pic_url`?**
A: `hd_profile_pic_url` provides higher resolution images when available.

**Q: How often should I scrape the same profiles?**
A: For monitoring, daily or weekly scraping is usually sufficient to track changes.

**Q: Can I customize the output fields?**
A: Yes, use the `fields` parameter in the export URL to select specific columns.

### 🛡️ Compliance & Ethics

#### ⚖️ Legal Considerations

| Aspect | Recommendation |
|--------|----------------|
| **Data Usage** | Only scrape public data for legitimate purposes |
| **Rate Limiting** | Respect platform limits and use appropriate delays |
| **Privacy** | Follow GDPR and local privacy laws |
| **Terms of Service** | Review Meta's Terms of Service before scraping |

#### 🌟 Best Practices

- ✅ **Respect robots.txt** and platform policies
- ✅ **Use reasonable delays** between requests
- ✅ **Monitor for changes** in platform structure
- ✅ **Store data securely** and delete when no longer needed
- ❌ **Don't scrape private content** or personal information
- ❌ **Don't exceed rate limits** or abuse the service

### 📞 Support

#### 🆘 Getting Help

For issues and questions:

- 📋 **Check the Apify logs** for detailed error messages
- ✅ **Verify usernames** are valid and profiles are public
- 📊 **Review status codes** in the output data

#### 🔧 Troubleshooting

| Issue | Solution |
|-------|----------|
| 401 Errors | Check your configuration |
| 404 Errors | Verify the username exists and is public |
| 429 Errors | Increase delay between requests |
| Network Errors | Check internet connection and API status |

***

### 🏷️ Keywords & SEO

**Core Keywords**: threads profile scraper, meta threads scraper, threads.net profile extractor, threads profile data, meta threads api, threads user scraper

**Features**: threads profile analytics, threads follower count, threads verification status, threads bio extractor, threads profile picture scraper, threads user data

**Use Cases**: threads influencer research, threads competitor analysis, threads social media analytics, threads lead generation, threads brand monitoring, threads academic research

**Technical**: threads scraping tool, threads data extraction, threads profile api, threads bulk scraper, threads csv export, threads json export

**Export**: export threads data, threads profile csv, threads analytics export, threads user database, bulk threads profiles

***

### 🚀 **Get Started Now**

**Ready to extract Threads replies and download media content?**

1. Click ["Try for free"](https://apify.com?fpr=ykgg9c) to test the actor
2. Enter your username and configure filters
3. Get comprehensive reply data.

**⭐ If this actor helps your workflow, please give it a star!**

***

### Related Actors 🤝

- **[Threads Media Downloader](https://apify.com/igview-owner/threads-media-downloader)**
- **[Threads Profile Following Scraper](https://apify.com/igview-owner/threads-user-following-scraper)**
- **[Threads Profile Followers Scraper](https://apify.com/igview-owner/threads-user-followers-scraper)**
- **[Threads Profile Media Scraper](https://apify.com/igview-owner/threads-user-media-scraper)**
- **[Threads Profile Scraper](https://apify.com/igview-owner/meta-threads-profile-scraper)**
- **[Threads Search Scraper](https://apify.com/igview-owner/threads-search-scraper)**

# Actor input Schema

## `usernames` (type: `array`):

📝 Enter Threads usernames (e.g., kimkardashian) or full Threads URLs to extract profile data. Supports both direct usernames and threads.net URLs.

## Actor input object example

```json
{
  "usernames": [
    "kimkardashian",
    "zuck",
    "https://threads.net/@instagram",
    "https://threads.net/@meta"
  ]
}
```

# 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 = {
    "usernames": [
        "kimkardashian",
        "zuck",
        "https://threads.net/@instagram",
        "https://threads.net/@meta"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("igview-owner/meta-threads-profile-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 = { "usernames": [
        "kimkardashian",
        "zuck",
        "https://threads.net/@instagram",
        "https://threads.net/@meta",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("igview-owner/meta-threads-profile-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 '{
  "usernames": [
    "kimkardashian",
    "zuck",
    "https://threads.net/@instagram",
    "https://threads.net/@meta"
  ]
}' |
apify call igview-owner/meta-threads-profile-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,igview-owner/meta-threads-profile-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/vsWHqLjGBy1jMKmPp/builds/mdc5312LSZMUCaKg6/openapi.json
