# Search Posts

Search public Tumblr posts by keyword with a bounded result count

- Platform: [Tumblr](https://docs.upscrape.com/docs/platforms/tumblr)
- Capability ID: `tumblr.posts.search`
- Cost: 1 credit per request
- Maximum runtime: 30 seconds
- Execute endpoint: `POST https://data.upscrape.com/execute`

## Request

Use the exact public capability ID in the shared execute envelope.

```bash
curl --request POST \
  --url https://data.upscrape.com/execute \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --header "Prefer: wait=30" \
  --data '{
  "input": {
    "limit": 5,
    "query": "photography"
  },
  "capability": "tumblr.posts.search"
}'
```

## Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `limit` | `integer` | No | Maximum number of posts to return |
| `query` | `string` | Yes | Tumblr search query |

### Example input

```json
{
  "limit": 5,
  "query": "photography"
}
```

## Response

Successful output is returned in `results[0].data`. Raw platform output is intentionally open-ended and may evolve with the upstream source.

### Illustrative sample output

This redacted fixture is an example, not a fixed response schema.

```json
{
  "posts": [
    {
      "blogName": "nosimpincurly",
      "content": [
        {
          "media": [
            {
              "hasOriginalDimensions": true,
              "height": 1440,
              "mediaKey": "903299d69e6a0fe730ba29186dac113c:d5a682faa9f2d7a0-a6",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/903299d69e6a0fe730ba29186dac113c/d5a682faa9f2d7a0-a6/s1280x1920/[redacted:token].jpg",
              "width": 1080
            },
            {
              "hasOriginalDimensions": false,
              "height": 853,
              "mediaKey": "903299d69e6a0fe730ba29186dac113c:d5a682faa9f2d7a0-a6",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/903299d69e6a0fe730ba29186dac113c/d5a682faa9f2d7a0-a6/s640x960/[redacted:token].jpg",
              "width": 640
            },
            {
              "hasOriginalDimensions": false,
              "height": 720,
              "mediaKey": "903299d69e6a0fe730ba29186dac113c:d5a682faa9f2d7a0-a6",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/903299d69e6a0fe730ba29186dac113c/d5a682faa9f2d7a0-a6/s540x810/[redacted:token].jpg",
              "width": 540
            }
          ],
          "type": "image"
        }
      ],
      "id": "825063228799320064",
      "noteCount": 11580,
      "postUrl": "https://www.tumblr.com/nosimpincurly/825063228799320064",
      "tags": [
        "aesthetic",
        "photography",
        "couple"
      ],
      "timestamp": 1786841610,
      "type": "blocks"
    },
    {
      "blogName": "fuckyeahchinesegarden",
      "content": [
        {
          "media": [
            {
              "hasOriginalDimensions": true,
              "height": 1440,
              "mediaKey": "a00521fb3d0578c66d893ffa791d890d:ea933cd696f292eb-ff",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/a00521fb3d0578c66d893ffa791d890d/ea933cd696f292eb-ff/s1280x1920/[redacted:token].jpg",
              "width": 1080
            },
            {
              "hasOriginalDimensions": false,
              "height": 853,
              "mediaKey": "a00521fb3d0578c66d893ffa791d890d:ea933cd696f292eb-ff",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/a00521fb3d0578c66d893ffa791d890d/ea933cd696f292eb-ff/s640x960/[redacted:token].jpg",
              "width": 640
            },
            {
              "hasOriginalDimensions": false,
              "height": 720,
              "mediaKey": "a00521fb3d0578c66d893ffa791d890d:ea933cd696f292eb-ff",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/a00521fb3d0578c66d893ffa791d890d/ea933cd696f292eb-ff/s540x810/[redacted:token].jpg",
              "width": 540
            }
          ],
          "type": "image"
        },
        {
          "media": [
            {
              "hasOriginalDimensions": true,
              "height": 2560,
              "mediaKey": "7311fc741c08fd5a945d725c861a504c:ea933cd696f292eb-be",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/7311fc741c08fd5a945d725c861a504c/ea933cd696f292eb-be/s2048x3072/[redacted:token].jpg",
              "width": 1920
            },
            {
              "hasOriginalDimensions": false,
              "height": 1707,
              "mediaKey": "7311fc741c08fd5a945d725c861a504c:ea933cd696f292eb-be",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/7311fc741c08fd5a945d725c861a504c/ea933cd696f292eb-be/s1280x1920/[redacted:token].jpg",
              "width": 1280
            },
            {
              "hasOriginalDimensions": false,
              "height": 853,
              "mediaKey": "7311fc741c08fd5a945d725c861a504c:ea933cd696f292eb-be",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/7311fc741c08fd5a945d725c861a504c/ea933cd696f292eb-be/s640x960/[redacted:token].jpg",
              "width": 640
            }
          ],
          "type": "image"
        },
        {
          "media": [
            {
              "hasOriginalDimensions": true,
              "height": 2560,
              "mediaKey": "2e0557386e00c8f4e3bf4a3ca68e0e5b:ea933cd696f292eb-df",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/2e0557386e00c8f4e3bf4a3ca68e0e5b/ea933cd696f292eb-df/s2048x3072/[redacted:token].jpg",
              "width": 1920
            },
            {
              "hasOriginalDimensions": false,
              "height": 1707,
              "mediaKey": "2e0557386e00c8f4e3bf4a3ca68e0e5b:ea933cd696f292eb-df",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/2e0557386e00c8f4e3bf4a3ca68e0e5b/ea933cd696f292eb-df/s1280x1920/[redacted:token].jpg",
              "width": 1280
            },
            {
              "hasOriginalDimensions": false,
              "height": 853,
              "mediaKey": "2e0557386e00c8f4e3bf4a3ca68e0e5b:ea933cd696f292eb-df",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/2e0557386e00c8f4e3bf4a3ca68e0e5b/ea933cd696f292eb-df/s640x960/[redacted:token].jpg",
              "width": 640
            }
          ],
          "type": "image"
        }
      ],
      "id": "825403546959855616",
      "noteCount": 1778,
      "postUrl": "https://fuckyeahchinesegarden.tumblr.com/post/825403546959855616/dujiangyan-sichuan-province-china-photos-by",
      "summary": "Dujiangyan, Sichuan Province, China (photos by 我只是一只南瓜，Lillianaxxxx， 一碗心灵橙汁，小黑，阳光开朗大女孩，如梦，蓝色社畜章鱼，橙子抹茶豆浆，不二小姐）",
      "tags": [
        "china",
        "scenery",
        "travel"
      ],
      "timestamp": 1787166163,
      "type": "blocks"
    },
    {
      "blogName": "gremlininho",
      "content": [
        {
          "text": "\"Naga's Eye\" That Appears When It Rains. Thailand's Mystical Rock Formation",
          "type": "text"
        },
        {
          "media": [
            {
              "hasOriginalDimensions": true,
              "height": 768,
              "mediaKey": "6e00f0826a6aeb89369d07410708cd56:72e80eb14b212486-e6",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/6e00f0826a6aeb89369d07410708cd56/72e80eb14b212486-e6/s1280x1920/[redacted:token].jpg",
              "width": 1024
            },
            {
              "hasOriginalDimensions": false,
              "height": 480,
              "mediaKey": "6e00f0826a6aeb89369d07410708cd56:72e80eb14b212486-e6",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/6e00f0826a6aeb89369d07410708cd56/72e80eb14b212486-e6/s640x960/[redacted:token].jpg",
              "width": 640
            },
            {
              "hasOriginalDimensions": false,
              "height": 405,
              "mediaKey": "6e00f0826a6aeb89369d07410708cd56:72e80eb14b212486-e6",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/6e00f0826a6aeb89369d07410708cd56/72e80eb14b212486-e6/s540x810/[redacted:token].jpg",
              "width": 540
            }
          ],
          "type": "image"
        },
        {
          "media": [
            {
              "hasOriginalDimensions": true,
              "height": 720,
              "mediaKey": "cee3438919fbb69501b8672879d48168:72e80eb14b212486-38",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/cee3438919fbb69501b8672879d48168/72e80eb14b212486-38/s1280x1920/[redacted:token].jpg",
              "width": 960
            },
            {
              "hasOriginalDimensions": false,
              "height": 480,
              "mediaKey": "cee3438919fbb69501b8672879d48168:72e80eb14b212486-38",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/cee3438919fbb69501b8672879d48168/72e80eb14b212486-38/s640x960/[redacted:token].jpg",
              "width": 640
            },
            {
              "hasOriginalDimensions": false,
              "height": 405,
              "mediaKey": "cee3438919fbb69501b8672879d48168:72e80eb14b212486-38",
              "type": "image/jpeg",
              "url": "https://64.media.tumblr.com/cee3438919fbb69501b8672879d48168/72e80eb14b212486-38/s540x810/[redacted:token].jpg",
              "width": 540
            }
          ],
          "type": "image"
        }
      ],
      "id": "825568923654258688",
      "noteCount": 2066,
      "postUrl": "https://www.tumblr.com/gremlininho/825568923654258688/nagas-eye-that-appears-when-it-rains",
      "summary": "\"Naga's Eye\" That Appears When It Rains. Thailand's Mystical Rock Formation\n\n❝In Phu Langka Plateau (National Park) in Bueng Kan...",
      "tags": [
        "thailand",
        "nature",
        "travel"
      ],
      "timestamp": 1787323878,
      "type": "blocks"
    }
  ],
  "totalCount": 5
}
```
### Illustrative output fields

Derived from the sample above for orientation only. These fields are not a fixed response schema.

| Path | Observed type | Example |
| --- | --- | --- |
| `posts` | `array` | 3 items |
| `posts` | `array` | 3 items |
| `totalCount` | `integer` | 5 |

## Execution behavior

A `200` response completed inline. A `202` response was queued; poll `GET /jobs/{id}` until the job reaches `completed` or `failed`. Use an `Idempotency-Key` when retrying must not create a duplicate logical job.

## Related documentation

- [Authentication](https://docs.upscrape.com/docs/api/authentication)
- [Jobs and results](https://docs.upscrape.com/docs/api/jobs)
- [Errors and retries](https://docs.upscrape.com/docs/api/errors)
- [Idempotency](https://docs.upscrape.com/docs/api/idempotency)
