{
  "openapi": "3.0.1",
  "info": {
    "title": "Snapchat Profile Scraper With Email & Phone Leads",
    "description": "Snapchat Profile Scraper — Scrape public Snapchat profiles and extract usernames, display names, bios, follower metrics, profile details, and publicly available business contact information. Build structured creator and business lead lists for prospecting, research, and audience analysis.",
    "version": "0.1",
    "x-build-id": "VhQS0n0fEMyxTsdrC"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/scrapio~snapchat-profile-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-scrapio-snapchat-profile-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/scrapio~snapchat-profile-scraper/runs": {
      "post": {
        "operationId": "runs-sync-scrapio-snapchat-profile-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/scrapio~snapchat-profile-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-scrapio-snapchat-profile-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",
        "required": [
          "urls"
        ],
        "properties": {
          "urls": {
            "title": "👤 Usernames or profile URLs",
            "minItems": 1,
            "uniqueItems": true,
            "type": "array",
            "description": "Add one or more Snapchat usernames (e.g. djkhaled305) or full profile URLs (e.g. https://www.snapchat.com/@djkhaled305). The snapchat.com/add/<user> form is accepted too.",
            "items": {
              "type": "string"
            }
          },
          "extractContacts": {
            "title": "📧 Extract emails & phone numbers from the bio",
            "type": "boolean",
            "description": "Runs hardened email and phone patterns over the public bio. @mentions never become emails and follower counts never become phone numbers. Measured on 70 live profiles: bio present on 52 (74%), email found on 5 (7%), phone found on 1 (1%). Phone is emitted as null when absent.",
            "default": true
          },
          "includeLocation": {
            "title": "📍 Extract creator location",
            "type": "boolean",
            "description": "Reads the free-text location creators set on their public profile and splits it into city / region / country. Measured on 70 live profiles: present on 31 (44%) — the highest-coverage lead-qualification field on the page.",
            "default": true
          },
          "crawlWebsiteForSocials": {
            "title": "🌐 Open the profile website and collect social handles",
            "type": "boolean",
            "description": "Costs one extra request per profile that has a website. Follows link-in-bio pages (Linktree, link.me, hoo.be, stan.store …) and extracts Instagram / TikTok / YouTube / X / Facebook / LinkedIn handles from the links on the page. Measured on the 18 profiles with a website: 18/18 loaded, 15 returned at least one handle. It is not an email source.",
            "default": false
          },
          "websiteCrawlTimeoutSecs": {
            "title": "⏱️ Website request timeout (seconds)",
            "minimum": 5,
            "maximum": 120,
            "type": "integer",
            "description": "Timeout for each website / link-in-bio request.",
            "default": 20
          },
          "useProxyForWebsiteCrawl": {
            "title": "🔁 Send website requests through the proxy too",
            "type": "boolean",
            "description": "Off by default: the Snapchat page needs no proxy and neither do most creator websites.",
            "default": false
          },
          "onlyProfilesWithContact": {
            "title": "✅ Only keep profiles that have a contact",
            "type": "boolean",
            "description": "Drops rows with no email, no phone, no website and no social handle, so the dataset is a clean outreach list. Off by default — every profile is returned.",
            "default": false
          },
          "minContactCompleteness": {
            "title": "📊 Minimum contact completeness score (0-100)",
            "minimum": 0,
            "maximum": 100,
            "type": "integer",
            "description": "Keep only profiles scoring at or above this value. Score = email 40 + phone 25 + website 15 + socials 12 + location 8. Leave at 0 to keep everything.",
            "default": 0
          },
          "maxRetries": {
            "title": "🔁 Retries per profile",
            "minimum": 1,
            "maximum": 10,
            "type": "integer",
            "description": "How many times a profile request is retried before the row is marked failed.",
            "default": 3
          },
          "requestTimeoutSecs": {
            "title": "⏳ Snapchat request timeout (seconds)",
            "minimum": 5,
            "maximum": 180,
            "type": "integer",
            "description": "Timeout for each Snapchat profile request.",
            "default": 30
          },
          "proxyConfiguration": {
            "title": "🔒 Proxy settings",
            "type": "object",
            "description": "Optional. Uses no proxy by default, which is what the Snapchat profile page needs. If you enable Apify Proxy and get blocked, the actor auto-switches to Residential; if Residential is not available on your account it degrades to a direct connection and reports that in effectiveProxyMode."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}