# Instagram Giveaway Finder (`rainminer/instagram-giveaway-finder`) Actor

Find Instagram giveaways from public posts using AI. Enter search queries like "nike giveaway" or "beauty giveaway" to discover contests, prizes, entry rules, and deadlines. For creators, marketers, and deal hunters tracking social sweepstakes.

- **URL**: https://apify.com/rainminer/instagram-giveaway-finder.md
- **Developed by:** [rainminer](https://apify.com/rainminer) (community)
- **Categories:** Social media, AI, E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 giveaways

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

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.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/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

The **Instagram Giveaway Finder** is an Apify Actor that finds **giveaways and contests on [Instagram](https://www.instagram.com/)** from your search queries. Enter phrases like `nike giveaway` or `beauty giveaway instagram` and get a structured dataset of prizes, entry rules, deadlines, and source posts — sorted by **recency** so the freshest contests come first. No Instagram login required.

![Instagram](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e7/Instagram_logo_2016.svg/320px-Instagram_logo_2016.svg.png)

---

### Key Features

- **Query-based discovery** — run multiple giveaway search phrases in one run
- **Real caption extraction** — fetches each post's public SEO description, not Google's search snippet
- **AI-powered parsing** — extracts prizes, entry requirements, deadlines, and host brands
- **Regional search** — optional country and language codes passed through to Google Search
- **Recency-first results** — newest giveaways prioritized in the output dataset
- **Structured rows** — one dataset item per giveaway for easy filtering and export
- **Apify platform** — schedule runs, monitor jobs, export via API, and integrate with your stack

---

### Why Find Instagram Giveaways Automatically?

Giveaways spread across Instagram faster than any spreadsheet can track. Rules live in captions and reels — rarely organized as structured data. This Actor turns public Instagram giveaway posts into rows you can filter, export, and pipe into monitoring or deal feeds for:

- **Creators and influencers** tracking brand collaboration contests
- **Marketing teams** monitoring competitor giveaway campaigns
- **Deal hunters** discovering product sweepstakes to enter
- **Brand managers** tracking who runs giveaways mentioning your products

---

### Who Is It For?

- **Social media managers** monitoring giveaway trends in a niche
- **Influencer marketers** sourcing active brand contests
- **Consumer deal sites** aggregating social sweepstakes
- **Agencies** reporting on giveaway activity for clients

---

### How to Find Instagram Giveaways

1. Open the Actor in [Apify Console](https://console.apify.com/)
2. Enter one or more **search queries** (e.g. `nike giveaway`, `skincare giveaway`)
3. Optionally set **Country code** and **Language code** for localized Google results
4. Click **Start**
5. Download results from the **Output** tab as JSON, CSV, Excel, or via the Apify API

For all input options, see the **Input** tab in Console.

---

### Input

Instagram Giveaway Finder has the following main input options. Click the **Input** tab for the full schema.

| Field | Required | Default | Description |
| ----- | -------- | ------- | ----------- |
| `searchQueries` | yes | — | Giveaway search phrases (e.g. `nike giveaway`, `beauty giveaway instagram`) |
| `searchRegion` | no | — | Optional Google Search country code (e.g. `us`, `de`, `jp`) |
| `languageCode` | no | — | Optional Google Search language code (e.g. `en`, `de`, `fr`) |
| `afterDate` | no | — | Optional calendar date — only posts on or after this date |
| `maxItems` | no | `5` | Maximum giveaway rows per run |

Example input:

```json
{
  "searchQueries": ["nike giveaway", "beauty giveaway instagram"],
  "searchRegion": "de",
  "languageCode": "de",
  "maxItems": 5
}
````

***

### Output

Each dataset row represents **one giveaway** found on Instagram:

```json
{
  "searchQuery": "nike giveaway",
  "prizeDescription": "Nike Air Max sneakers",
  "prizeType": "product",
  "prizeValueText": "worth $150",
  "entryRequirements": ["follow account", "tag 2 friends", "like post"],
  "deadlineText": "ends March 31",
  "hostBrand": "Nike",
  "sourceUrl": "https://www.instagram.com/reel/ABC123/",
  "postType": "reel",
  "captionSnippet": "GIVEAWAY! Win a pair of Air Max…",
  "confidence": "high",
  "creatorHandle": "@nike",
  "creatorProfileUrl": "https://www.instagram.com/nike/",
  "postDate": "2026-03-01T12:00:00.000Z",
  "scrapedAt": "2026-07-15T06:00:00.000Z"
}
```

Optional fields such as `deadlineText`, `hostBrand`, and `prizeValueText` are included only when found.

You can download the dataset extracted by Instagram Giveaway Finder in various formats such as JSON, HTML, CSV, or Excel.

| Field | Description |
| ----- | ----------- |
| `searchQuery` | Query that discovered this giveaway |
| `prizeDescription` | What can be won |
| `prizeType` | Category (`product`, `gift_card`, `cash`, etc.) |
| `prizeValueText` | Stated prize value (included when mentioned) |
| `entryRequirements` | How to enter (e.g. follow, tag friends, like) |
| `deadlineText` | End date or time limit (included when mentioned) |
| `hostBrand` | Sponsoring brand (included when mentioned) |
| `sourceUrl` | Instagram post or reel URL |
| `postType` | `post` or `reel` |
| `creatorHandle` | Author @handle (from page metadata) |
| `creatorProfileUrl` | Author profile URL (from page metadata) |
| `creatorDisplayName` | Author display name (from page metadata) |
| `postDate` | Post/reel publish date (from page metadata) |
| `captionSnippet` | Text excerpt showing the giveaway |
| `confidence` | `high`, `medium`, or `low` |
| `scrapedAt` | When this row was extracted |

***

### How Much Does It Cost to Find Instagram Giveaways?

This Actor uses **pay-per-event** pricing — you pay for search queries run, posts analyzed, and giveaways found. Exact rates are shown on the Actor detail page.

Start with one or two queries to estimate cost before scaling up.

***

### Tips

- Use **specific queries** — combine brand, product, or niche with `giveaway` (e.g. `iphone giveaway`, `vegan skincare giveaway`)
- Add **`instagram`** to broad queries if results are noisy
- Set **After date** for the freshest contests only
- Run multiple related queries in one input to cover variations (`nike giveaway`, `nike contest`)
- Schedule recurring runs to monitor the same niches weekly

***

### FAQ

#### Is it legal to scrape Instagram giveaways?

Our Actors only process **public** Instagram content that is already visible without logging in. They do not extract private user data such as email addresses or DMs. You should use results responsibly and comply with [Instagram's Terms of Use](https://help.instagram.com/) and applicable laws. If you are unsure whether your use case is permitted, consult your legal team.

#### Why did my run return no giveaways?

Common reasons: few public giveaway posts match your queries since your **After date**, posts do not describe giveaways in accessible text, or queries are too broad. Try more specific **search queries** or an earlier **After date**.

#### Does this work without Instagram login?

Yes. The Actor processes public posts and reels only.

#### Need help or a custom solution?

Use the **Issues** tab on this Actor's Store page to report bugs or request features. For custom monitoring or integration work, contact us through Apify Console.

***

### Image Credit

Image credit: [instagram.com](https://www.instagram.com/)

# Actor input Schema

## `searchQueries` (type: `array`):

Giveaway search phrases to run on Google (site:instagram.com). Each query discovers indexed Instagram posts. Examples: nike giveaway, beauty giveaway instagram, win iphone giveaway.

## `searchRegion` (type: `string`):

Optional Google Search country code (ISO 3166-1 alpha-2, e.g. us, de, jp). Omit for global/default results.

## `languageCode` (type: `string`):

Optional Google Search language code (ISO 639-1, e.g. en, de, fr). Omit for default results.

## `maxItems` (type: `integer`):

Maximum number of giveaway rows to save per run.

## `afterDate` (type: `string`):

Optional. Only include Instagram posts published on or after this date. When omitted, no Google Search date filter is applied.

## Actor input object example

```json
{
  "searchQueries": [
    "nike giveaway",
    "beauty giveaway instagram"
  ],
  "maxItems": 5
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

# 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 = {
    "searchQueries": [
        "nike giveaway",
        "beauty giveaway instagram"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("rainminer/instagram-giveaway-finder").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 = { "searchQueries": [
        "nike giveaway",
        "beauty giveaway instagram",
    ] }

# Run the Actor and wait for it to finish
run = client.actor("rainminer/instagram-giveaway-finder").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 '{
  "searchQueries": [
    "nike giveaway",
    "beauty giveaway instagram"
  ]
}' |
apify call rainminer/instagram-giveaway-finder --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=rainminer/instagram-giveaway-finder",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Instagram Giveaway Finder",
        "description": "Find Instagram giveaways from public posts using AI. Enter search queries like \"nike giveaway\" or \"beauty giveaway\" to discover contests, prizes, entry rules, and deadlines. For creators, marketers, and deal hunters tracking social sweepstakes.",
        "version": "1.0",
        "x-build-id": "dWpGmX27901wDpf9b"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/rainminer~instagram-giveaway-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-rainminer-instagram-giveaway-finder",
                "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/rainminer~instagram-giveaway-finder/runs": {
            "post": {
                "operationId": "runs-sync-rainminer-instagram-giveaway-finder",
                "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/rainminer~instagram-giveaway-finder/run-sync": {
            "post": {
                "operationId": "run-sync-rainminer-instagram-giveaway-finder",
                "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": [
                    "searchQueries"
                ],
                "properties": {
                    "searchQueries": {
                        "title": "Search queries",
                        "type": "array",
                        "description": "Giveaway search phrases to run on Google (site:instagram.com). Each query discovers indexed Instagram posts. Examples: nike giveaway, beauty giveaway instagram, win iphone giveaway.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "searchRegion": {
                        "title": "Country code",
                        "type": "string",
                        "description": "Optional Google Search country code (ISO 3166-1 alpha-2, e.g. us, de, jp). Omit for global/default results."
                    },
                    "languageCode": {
                        "title": "Language code",
                        "type": "string",
                        "description": "Optional Google Search language code (ISO 639-1, e.g. en, de, fr). Omit for default results."
                    },
                    "maxItems": {
                        "title": "Max giveaway rows",
                        "minimum": 1,
                        "maximum": 500,
                        "type": "integer",
                        "description": "Maximum number of giveaway rows to save per run.",
                        "default": 5
                    },
                    "afterDate": {
                        "title": "After date",
                        "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                        "type": "string",
                        "description": "Optional. Only include Instagram posts published on or after this date. When omitted, no Google Search date filter is applied."
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
