# Instagram National Geographic Posts Scraper

**Use case:** 

Scrape National Geographic Instagram posts with caption, hashtags, likes, comments, media type, and engagement rate. Export to JSON or CSV.

## Input

```json
{
  "startUrls": [
    "https://www.instagram.com/natgeo/"
  ],
  "maxItems": 5,
  "mediaTypeFilter": "all",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ]
  }
}
```

## Output

```json
{
  "thumbnailUrl": {
    "label": "Post Image",
    "format": "image"
  },
  "caption": {
    "label": "Caption",
    "format": "text"
  },
  "username": {
    "label": "Username",
    "format": "text"
  },
  "fullName": {
    "label": "Full Name",
    "format": "text"
  },
  "likeCount": {
    "label": "Likes",
    "format": "number"
  },
  "commentCount": {
    "label": "Comments",
    "format": "number"
  },
  "viewCount": {
    "label": "Views",
    "format": "number"
  },
  "mediaType": {
    "label": "Media Type",
    "format": "text"
  },
  "productType": {
    "label": "Product Type",
    "format": "text"
  },
  "imageUrls": {
    "label": "Image URLs",
    "format": "text"
  },
  "videoUrl": {
    "label": "Video URL",
    "format": "link"
  },
  "playCount": {
    "label": "Plays",
    "format": "number"
  },
  "isCommentsDisabled": {
    "label": "Comments Disabled",
    "format": "text"
  },
  "likeCountHidden": {
    "label": "Likes Hidden",
    "format": "text"
  },
  "shortcode": {
    "label": "Shortcode",
    "format": "text"
  },
  "postId": {
    "label": "Post ID",
    "format": "text"
  },
  "postUrl": {
    "label": "Post Link",
    "format": "link"
  },
  "profileUrl": {
    "label": "Profile Link",
    "format": "link"
  },
  "engagementRate": {
    "label": "Engagement Rate %",
    "format": "number"
  },
  "collaboratorList": {
    "label": "Collaborators",
    "format": "text"
  },
  "postAgeHours": {
    "label": "Post Age (h)",
    "format": "number"
  },
  "likesPerHour": {
    "label": "Likes/Hour",
    "format": "number"
  },
  "commentsPerHour": {
    "label": "Comments/Hour",
    "format": "number"
  },
  "viewsPerHour": {
    "label": "Views/Hour",
    "format": "number"
  },
  "viralityScore": {
    "label": "Virality Score",
    "format": "number"
  },
  "engagementVelocity": {
    "label": "Engagement Velocity",
    "format": "text"
  },
  "captionLength": {
    "label": "Caption Length",
    "format": "number"
  },
  "captionWordCount": {
    "label": "Caption Words",
    "format": "number"
  },
  "emojiCount": {
    "label": "Emoji Count",
    "format": "number"
  },
  "hashtagCount": {
    "label": "Hashtag Count",
    "format": "number"
  },
  "mentionCount": {
    "label": "Mention Count",
    "format": "number"
  },
  "hashtagDensity": {
    "label": "Hashtag Density",
    "format": "number"
  },
  "hasQuestion": {
    "label": "Has Question",
    "format": "text"
  },
  "hasCTA": {
    "label": "Has CTA",
    "format": "text"
  },
  "urlsInCaption": {
    "label": "URLs in Caption",
    "format": "text"
  },
  "emailsInCaption": {
    "label": "Emails in Caption",
    "format": "text"
  },
  "phonesInCaption": {
    "label": "Phones in Caption",
    "format": "text"
  },
  "isBrandedPost": {
    "label": "Branded",
    "format": "text"
  },
  "isPaidPartnership": {
    "label": "Paid Partnership",
    "format": "text"
  },
  "brandPartners": {
    "label": "Brand Partners",
    "format": "text"
  },
  "sponsorshipTier": {
    "label": "Sponsorship Tier",
    "format": "text"
  },
  "timestamp": {
    "label": "Posted At",
    "format": "datetime"
  },
  "scrapedAt": {
    "label": "Scraped On",
    "format": "datetime"
  },
  "error": {
    "label": "Error",
    "format": "text"
  }
}
```

## About this Actor

This example demonstrates how to use [Instagram Posts Scraper](https://apify.com/parseforge/instagram-posts-scraper) with a specific input configuration. Visit the [Actor detail page](https://apify.com/parseforge/instagram-posts-scraper) to learn more, explore other use cases, and run it yourself.