# Tumblr Search Scraper (`igview-owner/tumblr-search-scraper`) Actor

Scrape Tumblr blog search results from any keyword. Extract blog metadata, latest post details, and media links (videos/images) into a structured dataset. Perfect for Tumblr niche research, influencer/creator discovery, and building content databases.

- **URL**: https://apify.com/igview-owner/tumblr-search-scraper.md
- **Developed by:** [Sachin Kumar Yadav](https://apify.com/igview-owner) (community)
- **Categories:** Developer tools, Social media, Other
- **Stats:** 29 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

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

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

## 🔍 Tumblr Search Scraper - Extract Tumblr Blogs

**Search and scrape Tumblr blogs from a keyword query. Extract clean, structured blog metadata (name, title, description, avatar, theme) plus the latest post details (summary, tags, engagement) and media (videos/images). Great for market research, creator discovery, and content analysis.**

### 📋 Table of Contents

- [🚀 Features](#-features)
- [🎯 Use Cases](#-use-cases)
- [⚡ Quick Start](#-quick-start)
- [📊 Input Parameters](#-input-parameters)
- [📤 Output](#-output)
- [❓ FAQ](#-faq)

### 🚀 Features

#### 🧩 Data extraction

- ✅ **Blog profile** - `blogName`, `blogTitle`, `blogUrl`, `description`, `avatarUrl`
- ✅ **Blog settings** - NSFW/Adult, ask enabled, anonymous asks, messaging, subscribe
- ✅ **Theme details** - header image + basic theme colors
- ✅ **Latest post** - summary, date, tags, notes/likes/reblogs
- ✅ **Media scraping** - Extracts **video URLs** and **image URLs** from latest post content (`latestPostMedia`)

### 🎯 Use Cases

| Use Case | Description | Benefits |
|----------|-------------|----------|
| **Creator discovery** | Find Tumblr blogs about a niche/topic | Discover creators + communities |
| **Market research** | Analyze blog descriptions & themes | Identify trends and positioning |
| **Content analysis** | Inspect latest post summaries/tags | Understand what creators publish |
| **Media discovery** | Collect video URLs & posters | Build media datasets for review |

### ⚡ Quick Start

#### 1️⃣ Basic run

```json
{
  "query": "photography",
  "maxResults": 20
}
```

#### 2️⃣ Find blogs related to videos

```json
{
  "query": "video",
  "maxResults": 50
}
```

### 📊 Input Parameters

| Parameter | Type | Required | Description | Default |
|-----------|------|----------|-------------|---------|
| `query` | String | ✅ | Tumblr search keyword | `photography` |
| `maxResults` | Integer | ❌ | Maximum blogs to scrape (20-100) | `20` |

### 📤 Output

Each dataset item represents one blog + its latest post summary/media (when available).

#### 🧾 Blog item (example)

```json
{
  "blogName": "smallpwbbles",
  "blogTitle": "SmallPwbbles",
  "blogUrl": "https://www.tumblr.com/smallpwbbles",
  "blogDirectUrl": "https://smallpwbbles.tumblr.com/",
  "description": "Pebs/Pebbles, she/her Hey! welcome to my blog...",
  "avatarUrl": "https://64.media.tumblr.com/.../s512x512u_c1/...png",
  "isNsfw": false,
  "isAdult": false,
  "askEnabled": true,
  "askAnon": true,
  "canMessage": true,
  "canSubscribe": false,
  "headerImage": "https://64.media.tumblr.com/...png",
  "backgroundColor": "#B8E2CD",
  "titleColor": "#444444",
  "avatarShape": "circle",
  "latestPostId": "802772482125955072",
  "latestPostUrl": "https://smallpwbbles.tumblr.com/post/...",
  "latestPostDate": "2025-12-12 23:51:38 GMT",
  "latestPostSummary": "I don’t even like, have the capacity...",
  "latestPostTags": ["tadc", "tadc spoilers"],
  "latestPostNoteCount": 6457,
  "latestPostLikeCount": 5909,
  "latestPostReblogCount": 527,
  "latestPostMedia": [
    {
      "type": "video",
      "provider": "tumblr",
      "videoUrl": "https://va.media.tumblr.com/..._720.mp4",
      "width": 1920,
      "height": 1080,
      "posterUrl": "https://64.media.tumblr.com/..._frame1.jpg"
    }
  ]
}
```

### ❓ FAQ

#### **Q: Does it scrape video URLs from posts?**

**A:** Yes. If the latest post contains a `video` block (like the example), it will be included in `latestPostMedia` with `videoUrl` and `posterUrl`.

#### **Q: Why some items have empty `latestPostMedia`?**

**A:** Not every latest post contains media blocks, or return only text for that post.

#### **Q: How many blogs can I scrape?**

**A:** Up to 100 per run (controlled by `maxResults`).

***

### 🏷️ Tags

`tumblr scraper`, `tumblr search`, `tumblr blogs`, `tumblr blog discovery`, `tumblrcreator discovery`, `tumblr video scraper`, `tumblr media scraper`, `tumblr market research`, `tumblr content analysis`, `tumblr apify actor`

### Get Started Now

**Ready to extract Tumblr blogs?**

1. Add one or more **Tumblr blogs** in `query` (`UC...`)
2. Set **max blogs** per channel (`maxResults`) if you want a limit
3. Click "Start" to run the actor
4. View results in clean table views
5. Export data in your preferred format
6. Click ["Try for free"](https://apify.com?fpr=ykgg9c) to test the actor

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

*Built with ❤️ by Sachin Kumar Yadav using Apify Platform*

# Actor input Schema

## `query` (type: `string`):

Enter your Tumblr search term to find relevant blogs. Examples: 'photography', 'art', 'fashion', 'anime', 'music'

## `maxResults` (type: `integer`):

Maximum number of blogs to scrape (1-100). Higher values will fetch more blogs but may take longer to process.

## Actor input object example

```json
{
  "query": "photography",
  "maxResults": 20
}
```

# Actor output Schema

## `blogs` (type: `string`):

Open the dataset view with an overview of scraped Tumblr blogs.

## `latestPosts` (type: `string`):

Open the dataset view with latest post details from scraped Tumblr blogs.

## `mediaContent` (type: `string`):

Open the dataset view with extracted media from the latest posts (videos/images).

# 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 = {
    "query": "photography",
    "maxResults": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("igview-owner/tumblr-search-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 = {
    "query": "photography",
    "maxResults": 20,
}

# Run the Actor and wait for it to finish
run = client.actor("igview-owner/tumblr-search-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 '{
  "query": "photography",
  "maxResults": 20
}' |
apify call igview-owner/tumblr-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,igview-owner/tumblr-search-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/D1p9GOGe2nRlViand/builds/k8slhB2MvW83Nkiyk/openapi.json
