{
  "openapi": "3.0.1",
  "info": {
    "title": "Lemon8 Scraper — Posts, Comments, Hashtags & Creators",
    "description": "Lemon8 scraper: search posts by keyword or hashtag, get likes, saves, views, comments and shares, full text with hashtags, images and video links, comment threads, creator profiles with followers, creator search and hot keywords. No login or cookies.",
    "version": "0.1",
    "x-build-id": "4GZYEomEiHDqGjf0v"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/memo23~lemon8-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-memo23-lemon8-scraper",
        "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/memo23~lemon8-scraper/runs": {
      "post": {
        "operationId": "runs-sync-memo23-lemon8-scraper",
        "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/memo23~lemon8-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-memo23-lemon8-scraper",
        "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",
        "properties": {
          "keywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "Keywords to search posts for. Each keyword is searched on its own and a post found by two keywords is returned once.",
            "items": {
              "type": "string"
            }
          },
          "hashtags": {
            "title": "Hashtags",
            "type": "array",
            "description": "Hashtag names, with or without `#` (`skincareroutine`). Returns the hashtag's posts; each row carries the hashtag's total views and post count.",
            "items": {
              "type": "string"
            }
          },
          "postUrls": {
            "title": "Post links",
            "type": "array",
            "description": "Post links (`https://www.lemon8-app.com/@handle/7596769672020754999`) or post ids. Each returns the full post row.",
            "items": {
              "type": "string"
            }
          },
          "creators": {
            "title": "Creators",
            "type": "array",
            "description": "Creator profile links (`https://www.lemon8-app.com/@handle`), `@handle`s or creator ids. Each returns a `creator` row with followers, following, posts and likes received. Billed as `creator-profile`.",
            "items": {
              "type": "string"
            }
          },
          "creatorKeywords": {
            "title": "Creator search keywords",
            "type": "array",
            "description": "Find creators by name or topic. Each result is a `creator` row with handle, followers and post count. Billed as `creator-search-result`.",
            "items": {
              "type": "string"
            }
          },
          "includeHotKeywords": {
            "title": "Hot keywords",
            "type": "boolean",
            "description": "Return Lemon8's current hot search keywords. Billed as `hot-keyword`.",
            "default": false
          },
          "includeEditorsPicks": {
            "title": "Editor's Picks",
            "type": "boolean",
            "description": "Return the posts of Lemon8's curated collections on the discover page (weekly trends and themed picks). Each row carries `collection` and `collectionHashtag`. Billed as `post`.",
            "default": false
          },
          "maxResultsPerKeyword": {
            "title": "Max posts per keyword",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound on posts collected per search keyword.",
            "default": 50
          },
          "maxResultsPerHashtag": {
            "title": "Max posts per hashtag",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound on posts collected per hashtag.",
            "default": 30
          },
          "maxCreatorsPerKeyword": {
            "title": "Max creators per keyword",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound on creators collected per creator-search keyword.",
            "default": 20
          },
          "includeFollowers": {
            "title": "Followers",
            "type": "boolean",
            "description": "For each entry in Creators, also return their followers as `follower` rows (handle, name, bio, profile link).",
            "default": false
          },
          "includeFollowing": {
            "title": "Following",
            "type": "boolean",
            "description": "For each entry in Creators, also return the accounts they follow as `following` rows.",
            "default": false
          },
          "maxFollowersPerCreator": {
            "title": "Max followers per creator",
            "minimum": 1,
            "maximum": 5000,
            "type": "integer",
            "description": "Upper bound on rows per creator, for followers and for following separately. 20 arrive per page.",
            "default": 100
          },
          "includeComments": {
            "title": "Comments",
            "type": "boolean",
            "description": "For every post in the run with at least 2 comments, also return its comments as `comment` and `reply` rows.",
            "default": false
          },
          "maxCommentsPerPost": {
            "title": "Max comments per post",
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound on comments collected per post.",
            "default": 20
          },
          "maxItems": {
            "title": "Max posts per run",
            "minimum": 1,
            "type": "integer",
            "description": "Cap on post rows across the whole run. Comments, creators and hot keywords have their own limits. Free-plan runs return up to 100 posts.",
            "default": 100
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}