{
  "data": {
    "id": "hHsrORXkditdhC9p6",
    "actId": "0OfQa0Uu4ZA0rhzyL",
    "userId": "NL4ThgItAwaoBlffQ",
    "startedAt": "2026-11-01T22:47:45.573Z",
    "finishedAt": "2026-11-01T22:47:59.080Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 13420,
      "runTimeSecs": 13.42,
      "computeUnits": 0.014911111111111111,
      "imageSizeBytes": 332967936
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "createdByOrganizationMemberUserId": "zifX0mkAFMHe8CatY",
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Paste Site Keyword Leak Finder Input\",\n  \"description\": \"Search public pastes by keyword, fetch known paste URLs, or scan the newest public pastes.\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"mode\": {\n      \"title\": \"Mode\",\n      \"type\": \"string\",\n      \"description\": \"Choose how to find public pastes.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"searchKeywords\",\n        \"byUrls\",\n        \"recentPastes\"\n      ],\n      \"enumTitles\": [\n        \"Search by keyword\",\n        \"Fetch these paste URLs\",\n        \"Scan the newest public pastes\"\n      ],\n      \"default\": \"searchKeywords\",\n      \"prefill\": \"searchKeywords\"\n    },\n    \"searchKeywords\": {\n      \"title\": \"Search keywords\",\n      \"type\": \"array\",\n      \"description\": \"Words or phrases to look for in public paste content (mode=searchKeywords). Each keyword is searched independently.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"prefill\": [\n        \"test\"\n      ]\n    },\n    \"startUrls\": {\n      \"title\": \"Paste URLs\",\n      \"type\": \"array\",\n      \"description\": \"Direct links to public Pastebin, Gist, Ideone, Paste.org, or paste.gg pastes (mode=byUrls).\",\n      \"editor\": \"requestListSources\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\n          \"url\": {\n            \"type\": \"string\",\n            \"title\": \"Paste URL\",\n            \"description\": \"Public paste URL.\"\n          }\n        }\n      },\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"sources\": {\n      \"title\": \"Paste sites\",\n      \"type\": \"array\",\n      \"description\": \"Which public paste sites to include: pastebin, gist, ideone, paste_org, paste_gg. The default is all five.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"uniqueItems\": true,\n      \"default\": [\n        \"pastebin\",\n        \"gist\",\n        \"ideone\",\n        \"paste_org\",\n        \"paste_gg\"\n      ],\n      \"prefill\": [\n        \"gist\"\n      ]\n    },\n    \"maxItems\": {\n      \"title\": \"Maximum results\",\n      \"type\": \"integer\",\n      \"description\": \"Hard limit on the total number of paste records returned.\",\n      \"minimum\": 1,\n      \"maximum\": 1000,\n      \"default\": 50,\n      \"prefill\": 3\n    },\n    \"maxItemsPerSource\": {\n      \"title\": \"Maximum results per site\",\n      \"type\": \"integer\",\n      \"description\": \"Limit on how many matching pastes or recent pastes are returned from each site.\",\n      \"minimum\": 1,\n      \"maximum\": 500,\n      \"default\": 10,\n      \"prefill\": 3\n    },\n    \"maxPastesToScan\": {\n      \"title\": \"Maximum pastes to scan\",\n      \"type\": \"integer\",\n      \"description\": \"How many recent public pastes to inspect per site. Pastebin archive scans are capped at 250 keys per run.\",\n      \"minimum\": 1,\n      \"maximum\": 2000,\n      \"default\": 250,\n      \"prefill\": 10\n    },\n    \"syntaxes\": {\n      \"title\": \"Pastebin syntax archives\",\n      \"type\": \"array\",\n      \"description\": \"Optional Pastebin syntax archives to scan in addition to the main archive. Leave empty for the main archive only.\",\n      \"editor\": \"select\",\n      \"items\": {\n        \"type\": \"string\",\n        \"enum\": [\n          \"text\",\n          \"python\",\n          \"javascript\",\n          \"json\",\n          \"sql\",\n          \"xml\",\n          \"bash\",\n          \"c\",\n          \"cpp\",\n          \"csharp\",\n          \"java\",\n          \"php\",\n          \"css\",\n          \"html\",\n          \"ruby\",\n          \"perl\",\n          \"go\",\n          \"rust\",\n          \"typescript\",\n          \"yaml\",\n          \"markdown\",\n          \"diff\",\n          \"nginx\",\n          \"docker\",\n          \"powershell\",\n          \"lua\",\n          \"kotlin\",\n          \"swift\",\n          \"scala\",\n          \"haskell\"\n        ],\n        \"enumTitles\": [\n          \"Text\",\n          \"Python\",\n          \"JavaScript\",\n          \"JSON\",\n          \"SQL\",\n          \"XML\",\n          \"Bash\",\n          \"C\",\n          \"C++\",\n          \"C#\",\n          \"Java\",\n          \"PHP\",\n          \"CSS\",\n          \"HTML\",\n          \"Ruby\",\n          \"Perl\",\n          \"Go\",\n          \"Rust\",\n          \"TypeScript\",\n          \"YAML\",\n          \"Markdown\",\n          \"Diff\",\n          \"Nginx\",\n          \"Docker\",\n          \"PowerShell\",\n          \"Lua\",\n          \"Kotlin\",\n          \"Swift\",\n          \"Scala\",\n          \"Haskell\"\n        ]\n      },\n      \"uniqueItems\": true,\n      \"default\": [],\n      \"prefill\": []\n    },\n    \"includeContent\": {\n      \"title\": \"Include full paste text\",\n      \"type\": \"boolean\",\n      \"description\": \"Return the paste text (up to the character limit) in addition to the metadata. Leave off for a smaller dataset.\",\n      \"default\": false,\n      \"prefill\": false\n    },\n    \"maxContentChars\": {\n      \"title\": \"Maximum content characters\",\n      \"type\": \"integer\",\n      \"description\": \"Character limit for the returned paste text when full text is enabled.\",\n      \"minimum\": 100,\n      \"maximum\": 50000,\n      \"default\": 5000,\n      \"prefill\": 1000\n    },\n    \"extractPatterns\": {\n      \"title\": \"Extract regex patterns\",\n      \"type\": \"array\",\n      \"description\": \"Optional regular expressions to run over paste text. Matches are returned in `regexMatches`; this does not filter results.\",\n      \"editor\": \"stringList\",\n      \"items\": {\n        \"type\": \"string\"\n      },\n      \"default\": [],\n      \"prefill\": []\n    }\n  },\n  \"required\": [\n    \"mode\"\n  ]\n}",
    "readme": "# Paste Site Keyword Leak Finder (Pastebin, Gist & More)\n\nCheck whether a keyword — an API key, an email domain, a company name — has surfaced on public paste sites. Search **Pastebin**, **GitHub Gist**, **Ideone**, **Paste.org**, and **paste.gg** in one run, or fetch a known paste URL, and get back the paste link, author, dates, syntax, views, raw link, and an optional full-text excerpt. Built for security researchers, threat-intel teams, and compliance monitoring.\n\n## What this actor does\n\n- **Three modes:** `searchKeywords` for keyword hunting, `byUrls` for checking specific public pastes, and `recentPastes` for scanning the newest public posts\n- **Five live sources:** Pastebin archive and raw text, GitHub Gist search and metadata, Ideone recent codes, Paste.org trending, and paste.gg's public list\n- **Rich metadata:** author, posted date, expiry, syntax, category, views, language, file list, and direct raw link where the source exposes them\n- **Optional full text and regex extraction:** return the paste body up to a character limit and pull out emails, keys, URLs, or any pattern you define\n- **No credentials or proxy setup:** public data only; empty fields are omitted rather than returned as null\n\n## Output per paste\n\n- `source` — `pastebin`, `gist`, `ideone`, `paste_org`, or `paste_gg`\n- `url` — canonical public paste URL\n- `title` — paste title, gist description, or first file name\n- `snippet` — keyword-centred excerpt, or the first part of the text when no keyword applies\n- `matchedKeyword`, `matchedKeywords[]` — first and all keywords that matched\n- `sourceQuery` — keyword search that discovered the record\n- `recordType` — `paste` or `gist`\n- `pasteId`, `gistId` — native identifiers where available\n- `author` — public author or owner name\n- `postedAt`, `postedAtText` — creation time in ISO 8601 UTC and as shown on the site\n- `expiresAt`, `expiryText` — expiry where the source reports one\n- `syntax`, `category` — Pastebin syntax and category labels\n- `views` — public view count\n- `sizeBytes`, `language`, `visibility` — content and listing metadata\n- `rawUrl` — direct raw-text link where available\n- `files[]`, `fileCount` — gist or paste.gg file names, sizes, languages, and raw links\n- `description`, `stars`, `forks`, `comments` — gist and paste.gg metadata\n- `content`, `contentLength`, `contentTruncated` — only when `includeContent` is enabled\n- `regexMatches[]`, `regexMatchCount` — only when `extractPatterns` is set\n- `scrapedAt` — ISO 8601 collection timestamp\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `searchKeywords` | `searchKeywords`, `byUrls`, or `recentPastes` |\n| `searchKeywords` | array | – | Keywords to search (mode=searchKeywords) |\n| `startUrls` | array | – | Public paste URLs to fetch (mode=byUrls) |\n| `sources` | array | `pastebin`, `gist`, `ideone`, `paste_org`, `paste_gg` | Which sites to search |\n| `maxItems` | integer | `50` | Overall record limit (1–1000) |\n| `maxItemsPerSource` | integer | `10` | Record limit per site (1–500) |\n| `maxPastesToScan` | integer | `250` | Recent pastes to inspect per site; Pastebin archive scans cap at 250 keys |\n| `syntaxes` | array | `[]` | Extra Pastebin syntax archives to scan; empty uses the main archive |\n| `includeContent` | boolean | `false` | Return paste text in addition to metadata |\n| `maxContentChars` | integer | `5000` | Text character limit when content is enabled |\n| `extractPatterns` | array | `[]` | Regular expressions to extract from paste text |\n\n### Example: search two keywords on Gist and Pastebin\n\n```json\n{\n  \"mode\": \"searchKeywords\",\n  \"searchKeywords\": [\"api_key\", \"password\"],\n  \"sources\": [\"gist\", \"pastebin\"],\n  \"maxItems\": 40,\n  \"maxItemsPerSource\": 10\n}\n```\n\n### Example: inspect specific public pastes\n\n```json\n{\n  \"mode\": \"byUrls\",\n  \"startUrls\": [\n    {\"url\": \"https://pastebin.com/xdGpC3wH\"},\n    {\"url\": \"https://gist.github.com/fagoner/71c75995cf81fdc9e32fd17c1b5a43a0\"}\n  ],\n  \"includeContent\": true,\n  \"maxContentChars\": 3000\n}\n```\n\n### Example: extract emails from the newest Gists\n\n```json\n{\n  \"mode\": \"recentPastes\",\n  \"sources\": [\"gist\"],\n  \"maxItems\": 20,\n  \"maxItemsPerSource\": 20,\n  \"includeContent\": true,\n  \"extractPatterns\": [\"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,}\"]\n}\n```\n\n### Example: scan older Pastebin syntax archives\n\n```json\n{\n  \"mode\": \"searchKeywords\",\n  \"searchKeywords\": [\"internal-config\"],\n  \"sources\": [\"pastebin\"],\n  \"syntaxes\": [\"python\", \"javascript\", \"bash\"],\n  \"maxPastesToScan\": 250,\n  \"maxItemsPerSource\": 25\n}\n```\n\n## Use cases\n\n- **Threat intelligence** — watch for company credentials, internal hostnames, or codenames appearing in public pastes\n- **Breach detection** — check whether employee email addresses or customer domains have surfaced\n- **Incident response** — fetch a suspicious paste and inspect its metadata and text in one step\n- **Security research** — collect public proof-of-concept snippets and leaked configuration samples\n- **Compliance monitoring** — keep an audit trail of public paste hits tied to your organization\n- **Brand protection** — spot public mentions of a product, domain, or internal project name\n\n## FAQ\n\n**Which paste sites are covered?**\nPastebin, GitHub Gist, Ideone, Paste.org, and paste.gg. Pastebin is searched through its public archive and raw paste pages, Gist through its public search and gist metadata, and the other three through their newest public listings.\n\n**Does Pastebin search cover all of history?**\nNo. Pastebin's archive shows recent public pastes and selected syntax archives, and it does not offer free pagination through its full history. A scan reaches up to 250 archive keys per run; older or already-deleted pastes may not appear.\n\n**How many Gist results can I get?**\nGist search returns up to 10 results per page and up to 100 pages, so a single keyword is capped at roughly 1,000 search results. Use several specific keywords for broader coverage.\n\n**Why do Ideone, Paste.org, and paste.gg return fewer hits?**\nThose sites do not expose a public keyword search. The actor scans their newest public listings and checks the paste text for your keywords, so coverage depends on how many recent pastes are scanned. paste.gg's public list API returns at most 100 entries per request, and unauthenticated Gist API calls are rate-limited.\n\n**Does this need cookies, an account, or a proxy?**\nNo. Only public pages are read, and the actor chooses a working connection automatically. You do not need to configure a proxy, log in, or supply an API key.\n\n**Does it return private or deleted pastes?**\nNo. Private, unlisted, password-protected, and deleted pastes are out of scope. If a paste disappears between the archive listing and the content fetch, it is skipped.\n\n**Is the full paste text always returned?**\nOnly when `includeContent` is enabled, and only up to `maxContentChars`. Paste text can contain sensitive material; handle it according to your organization's data-handling rules and report real leaks responsibly.\n\n**Can I extract only certain values, such as emails or keys?**\nYes. Add regular expressions to `extractPatterns` and the actor returns every match in `regexMatches` without filtering out other pastes.\n\n**Is this affiliated with Pastebin, GitHub, or the other sites?**\nNo. This is an independent actor that reads publicly accessible pages. It is not endorsed by or affiliated with any of the paste sites.\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "paste-site-keyword-leak-finder-pastebin-gist",
      "title": "Paste Site Keyword Leak Finder (Pastebin, Gist & More)",
      "description": "Search public Pastebin archives, GitHub Gists, Ideone, Paste.org and paste.gg for keywords such as leaked credentials, API keys, or company names. Get URLs, authors, dates, syntax, views, raw links, and optional full text or regex matches.",
      "version": "2.0",
      "buildTag": "latest",
      "meta": {
        "templateId": "python-empty"
      },
      "input": {
        "title": "Paste Site Keyword Leak Finder Input",
        "description": "Search public pastes by keyword, fetch known paste URLs, or scan the newest public pastes.",
        "type": "object",
        "schemaVersion": 1,
        "properties": {
          "mode": {
            "title": "Mode",
            "type": "string",
            "description": "Choose how to find public pastes.",
            "editor": "select",
            "enum": [
              "searchKeywords",
              "byUrls",
              "recentPastes"
            ],
            "enumTitles": [
              "Search by keyword",
              "Fetch these paste URLs",
              "Scan the newest public pastes"
            ],
            "default": "searchKeywords",
            "prefill": "searchKeywords"
          },
          "searchKeywords": {
            "title": "Search keywords",
            "type": "array",
            "description": "Words or phrases to look for in public paste content (mode=searchKeywords). Each keyword is searched independently.",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "prefill": [
              "test"
            ]
          },
          "startUrls": {
            "title": "Paste URLs",
            "type": "array",
            "description": "Direct links to public Pastebin, Gist, Ideone, Paste.org, or paste.gg pastes (mode=byUrls).",
            "editor": "requestListSources",
            "items": {
              "type": "object",
              "properties": {
                "url": {
                  "type": "string",
                  "title": "Paste URL",
                  "description": "Public paste URL."
                }
              }
            },
            "default": [],
            "prefill": []
          },
          "sources": {
            "title": "Paste sites",
            "type": "array",
            "description": "Which public paste sites to include: pastebin, gist, ideone, paste_org, paste_gg. The default is all five.",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "uniqueItems": true,
            "default": [
              "pastebin",
              "gist",
              "ideone",
              "paste_org",
              "paste_gg"
            ],
            "prefill": [
              "gist"
            ]
          },
          "maxItems": {
            "title": "Maximum results",
            "type": "integer",
            "description": "Hard limit on the total number of paste records returned.",
            "minimum": 1,
            "maximum": 1000,
            "default": 50,
            "prefill": 3
          },
          "maxItemsPerSource": {
            "title": "Maximum results per site",
            "type": "integer",
            "description": "Limit on how many matching pastes or recent pastes are returned from each site.",
            "minimum": 1,
            "maximum": 500,
            "default": 10,
            "prefill": 3
          },
          "maxPastesToScan": {
            "title": "Maximum pastes to scan",
            "type": "integer",
            "description": "How many recent public pastes to inspect per site. Pastebin archive scans are capped at 250 keys per run.",
            "minimum": 1,
            "maximum": 2000,
            "default": 250,
            "prefill": 10
          },
          "syntaxes": {
            "title": "Pastebin syntax archives",
            "type": "array",
            "description": "Optional Pastebin syntax archives to scan in addition to the main archive. Leave empty for the main archive only.",
            "editor": "select",
            "items": {
              "type": "string",
              "enum": [
                "text",
                "python",
                "javascript",
                "json",
                "sql",
                "xml",
                "bash",
                "c",
                "cpp",
                "csharp",
                "java",
                "php",
                "css",
                "html",
                "ruby",
                "perl",
                "go",
                "rust",
                "typescript",
                "yaml",
                "markdown",
                "diff",
                "nginx",
                "docker",
                "powershell",
                "lua",
                "kotlin",
                "swift",
                "scala",
                "haskell"
              ],
              "enumTitles": [
                "Text",
                "Python",
                "JavaScript",
                "JSON",
                "SQL",
                "XML",
                "Bash",
                "C",
                "C++",
                "C#",
                "Java",
                "PHP",
                "CSS",
                "HTML",
                "Ruby",
                "Perl",
                "Go",
                "Rust",
                "TypeScript",
                "YAML",
                "Markdown",
                "Diff",
                "Nginx",
                "Docker",
                "PowerShell",
                "Lua",
                "Kotlin",
                "Swift",
                "Scala",
                "Haskell"
              ]
            },
            "uniqueItems": true,
            "default": [],
            "prefill": []
          },
          "includeContent": {
            "title": "Include full paste text",
            "type": "boolean",
            "description": "Return the paste text (up to the character limit) in addition to the metadata. Leave off for a smaller dataset.",
            "default": false,
            "prefill": false
          },
          "maxContentChars": {
            "title": "Maximum content characters",
            "type": "integer",
            "description": "Character limit for the returned paste text when full text is enabled.",
            "minimum": 100,
            "maximum": 50000,
            "default": 5000,
            "prefill": 1000
          },
          "extractPatterns": {
            "title": "Extract regex patterns",
            "type": "array",
            "description": "Optional regular expressions to run over paste text. Matches are returned in `regexMatches`; this does not filter results.",
            "editor": "stringList",
            "items": {
              "type": "string"
            },
            "default": [],
            "prefill": []
          }
        },
        "required": [
          "mode"
        ]
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Paste Site Keyword Leak Finder Output",
        "description": "Public paste records from Pastebin, GitHub Gist, Ideone, Paste.org and paste.gg, including URLs, authors, dates, syntax, views, raw links and optional paste text.",
        "properties": {
          "results": {
            "type": "string",
            "title": "Paste results",
            "description": "Dataset containing matching pastes, fetched paste URLs, or recent public pastes.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "../Dockerfile",
      "readme": "# Paste Site Keyword Leak Finder (Pastebin, Gist & More)\n\nCheck whether a keyword — an API key, an email domain, a company name — has surfaced on public paste sites. Search **Pastebin**, **GitHub Gist**, **Ideone**, **Paste.org**, and **paste.gg** in one run, or fetch a known paste URL, and get back the paste link, author, dates, syntax, views, raw link, and an optional full-text excerpt. Built for security researchers, threat-intel teams, and compliance monitoring.\n\n## What this actor does\n\n- **Three modes:** `searchKeywords` for keyword hunting, `byUrls` for checking specific public pastes, and `recentPastes` for scanning the newest public posts\n- **Five live sources:** Pastebin archive and raw text, GitHub Gist search and metadata, Ideone recent codes, Paste.org trending, and paste.gg's public list\n- **Rich metadata:** author, posted date, expiry, syntax, category, views, language, file list, and direct raw link where the source exposes them\n- **Optional full text and regex extraction:** return the paste body up to a character limit and pull out emails, keys, URLs, or any pattern you define\n- **No credentials or proxy setup:** public data only; empty fields are omitted rather than returned as null\n\n## Output per paste\n\n- `source` — `pastebin`, `gist`, `ideone`, `paste_org`, or `paste_gg`\n- `url` — canonical public paste URL\n- `title` — paste title, gist description, or first file name\n- `snippet` — keyword-centred excerpt, or the first part of the text when no keyword applies\n- `matchedKeyword`, `matchedKeywords[]` — first and all keywords that matched\n- `sourceQuery` — keyword search that discovered the record\n- `recordType` — `paste` or `gist`\n- `pasteId`, `gistId` — native identifiers where available\n- `author` — public author or owner name\n- `postedAt`, `postedAtText` — creation time in ISO 8601 UTC and as shown on the site\n- `expiresAt`, `expiryText` — expiry where the source reports one\n- `syntax`, `category` — Pastebin syntax and category labels\n- `views` — public view count\n- `sizeBytes`, `language`, `visibility` — content and listing metadata\n- `rawUrl` — direct raw-text link where available\n- `files[]`, `fileCount` — gist or paste.gg file names, sizes, languages, and raw links\n- `description`, `stars`, `forks`, `comments` — gist and paste.gg metadata\n- `content`, `contentLength`, `contentTruncated` — only when `includeContent` is enabled\n- `regexMatches[]`, `regexMatchCount` — only when `extractPatterns` is set\n- `scrapedAt` — ISO 8601 collection timestamp\n\n## Input\n\n| Field | Type | Default | Description |\n|---|---|---|---|\n| `mode` | string | `searchKeywords` | `searchKeywords`, `byUrls`, or `recentPastes` |\n| `searchKeywords` | array | – | Keywords to search (mode=searchKeywords) |\n| `startUrls` | array | – | Public paste URLs to fetch (mode=byUrls) |\n| `sources` | array | `pastebin`, `gist`, `ideone`, `paste_org`, `paste_gg` | Which sites to search |\n| `maxItems` | integer | `50` | Overall record limit (1–1000) |\n| `maxItemsPerSource` | integer | `10` | Record limit per site (1–500) |\n| `maxPastesToScan` | integer | `250` | Recent pastes to inspect per site; Pastebin archive scans cap at 250 keys |\n| `syntaxes` | array | `[]` | Extra Pastebin syntax archives to scan; empty uses the main archive |\n| `includeContent` | boolean | `false` | Return paste text in addition to metadata |\n| `maxContentChars` | integer | `5000` | Text character limit when content is enabled |\n| `extractPatterns` | array | `[]` | Regular expressions to extract from paste text |\n\n### Example: search two keywords on Gist and Pastebin\n\n```json\n{\n  \"mode\": \"searchKeywords\",\n  \"searchKeywords\": [\"api_key\", \"password\"],\n  \"sources\": [\"gist\", \"pastebin\"],\n  \"maxItems\": 40,\n  \"maxItemsPerSource\": 10\n}\n```\n\n### Example: inspect specific public pastes\n\n```json\n{\n  \"mode\": \"byUrls\",\n  \"startUrls\": [\n    {\"url\": \"https://pastebin.com/xdGpC3wH\"},\n    {\"url\": \"https://gist.github.com/fagoner/71c75995cf81fdc9e32fd17c1b5a43a0\"}\n  ],\n  \"includeContent\": true,\n  \"maxContentChars\": 3000\n}\n```\n\n### Example: extract emails from the newest Gists\n\n```json\n{\n  \"mode\": \"recentPastes\",\n  \"sources\": [\"gist\"],\n  \"maxItems\": 20,\n  \"maxItemsPerSource\": 20,\n  \"includeContent\": true,\n  \"extractPatterns\": [\"[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\\\.[A-Za-z]{2,}\"]\n}\n```\n\n### Example: scan older Pastebin syntax archives\n\n```json\n{\n  \"mode\": \"searchKeywords\",\n  \"searchKeywords\": [\"internal-config\"],\n  \"sources\": [\"pastebin\"],\n  \"syntaxes\": [\"python\", \"javascript\", \"bash\"],\n  \"maxPastesToScan\": 250,\n  \"maxItemsPerSource\": 25\n}\n```\n\n## Use cases\n\n- **Threat intelligence** — watch for company credentials, internal hostnames, or codenames appearing in public pastes\n- **Breach detection** — check whether employee email addresses or customer domains have surfaced\n- **Incident response** — fetch a suspicious paste and inspect its metadata and text in one step\n- **Security research** — collect public proof-of-concept snippets and leaked configuration samples\n- **Compliance monitoring** — keep an audit trail of public paste hits tied to your organization\n- **Brand protection** — spot public mentions of a product, domain, or internal project name\n\n## FAQ\n\n**Which paste sites are covered?**\nPastebin, GitHub Gist, Ideone, Paste.org, and paste.gg. Pastebin is searched through its public archive and raw paste pages, Gist through its public search and gist metadata, and the other three through their newest public listings.\n\n**Does Pastebin search cover all of history?**\nNo. Pastebin's archive shows recent public pastes and selected syntax archives, and it does not offer free pagination through its full history. A scan reaches up to 250 archive keys per run; older or already-deleted pastes may not appear.\n\n**How many Gist results can I get?**\nGist search returns up to 10 results per page and up to 100 pages, so a single keyword is capped at roughly 1,000 search results. Use several specific keywords for broader coverage.\n\n**Why do Ideone, Paste.org, and paste.gg return fewer hits?**\nThose sites do not expose a public keyword search. The actor scans their newest public listings and checks the paste text for your keywords, so coverage depends on how many recent pastes are scanned. paste.gg's public list API returns at most 100 entries per request, and unauthenticated Gist API calls are rate-limited.\n\n**Does this need cookies, an account, or a proxy?**\nNo. Only public pages are read, and the actor chooses a working connection automatically. You do not need to configure a proxy, log in, or supply an API key.\n\n**Does it return private or deleted pastes?**\nNo. Private, unlisted, password-protected, and deleted pastes are out of scope. If a paste disappears between the archive listing and the content fetch, it is skipped.\n\n**Is the full paste text always returned?**\nOnly when `includeContent` is enabled, and only up to `maxContentChars`. Paste text can contain sensitive material; handle it according to your organization's data-handling rules and report real leaks responsibly.\n\n**Can I extract only certain values, such as emails or keys?**\nYes. Add regular expressions to `extractPatterns` and the actor returns every match in `regexMatches` without filtering out other pastes.\n\n**Is this affiliated with Pastebin, GitHub, or the other sites?**\nNo. This is an independent actor that reads publicly accessible pages. It is not endorsed by or affiliated with any of the paste sites.\n",
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "title": "OSINT Paste Results",
          "fields": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string",
                "description": "Paste site: pastebin, gist, ideone, paste_org, or paste_gg."
              },
              "url": {
                "type": "string",
                "description": "Canonical public URL of the paste or gist."
              },
              "title": {
                "type": "string",
                "description": "Paste title, gist description, or first file name."
              },
              "snippet": {
                "type": "string",
                "description": "Keyword-centred excerpt from the paste or its search preview."
              },
              "matchedKeyword": {
                "type": "string",
                "description": "First keyword that matched this record."
              },
              "matchedKeywords": {
                "type": "array",
                "description": "All keywords that matched this record.",
                "items": {
                  "type": "string"
                }
              },
              "sourceQuery": {
                "type": "string",
                "description": "Keyword search that discovered this record."
              },
              "recordType": {
                "type": "string",
                "description": "Record type, either paste or gist."
              },
              "pasteId": {
                "type": "string",
                "description": "Native paste identifier where the source exposes one."
              },
              "gistId": {
                "type": "string",
                "description": "GitHub Gist identifier."
              },
              "author": {
                "type": "string",
                "description": "Public author or owner name."
              },
              "postedAt": {
                "type": "string",
                "description": "Creation time in ISO 8601 UTC."
              },
              "postedAtText": {
                "type": "string",
                "description": "Creation time as shown by the source."
              },
              "expiresAt": {
                "type": "string",
                "description": "Expiry time in ISO 8601 UTC."
              },
              "expiryText": {
                "type": "string",
                "description": "Expiry text as shown by the source."
              },
              "syntax": {
                "type": "string",
                "description": "Pastebin syntax label."
              },
              "category": {
                "type": "string",
                "description": "Pastebin category label."
              },
              "views": {
                "type": "integer",
                "description": "Public view count where the source exposes one."
              },
              "sizeBytes": {
                "type": "integer",
                "description": "Paste or file size in bytes."
              },
              "language": {
                "type": "string",
                "description": "Programming or paste language."
              },
              "visibility": {
                "type": "string",
                "description": "Public visibility flag reported by the source."
              },
              "rawUrl": {
                "type": "string",
                "description": "Direct raw-text URL where the source exposes one."
              },
              "files": {
                "type": "array",
                "description": "Files contained in a gist or paste.gg paste.",
                "items": {
                  "type": "object",
                  "properties": {
                    "name": {
                      "type": "string"
                    },
                    "rawUrl": {
                      "type": "string"
                    },
                    "size": {
                      "type": "integer"
                    },
                    "language": {
                      "type": "string"
                    }
                  }
                }
              },
              "fileCount": {
                "type": "integer",
                "description": "Number of files in the paste."
              },
              "description": {
                "type": "string",
                "description": "Gist or paste.gg description."
              },
              "stars": {
                "type": "integer",
                "description": "Gist star count."
              },
              "forks": {
                "type": "integer",
                "description": "Gist fork count."
              },
              "comments": {
                "type": "integer",
                "description": "Gist comment count."
              },
              "content": {
                "type": "string",
                "description": "Paste text when full text is enabled, capped by maxContentChars."
              },
              "contentLength": {
                "type": "integer",
                "description": "Original paste text length before truncation."
              },
              "contentTruncated": {
                "type": "boolean",
                "description": "Whether returned content was shortened."
              },
              "regexMatches": {
                "type": "array",
                "description": "Matches for the requested regular expressions.",
                "items": {
                  "type": "object",
                  "properties": {
                    "pattern": {
                      "type": "string"
                    },
                    "match": {
                      "type": "string"
                    }
                  }
                }
              },
              "regexMatchCount": {
                "type": "integer",
                "description": "Number of regex matches returned."
              },
              "scrapedAt": {
                "type": "string",
                "description": "ISO 8601 timestamp when the record was collected."
              }
            }
          },
          "views": {
            "overview": {
              "title": "Overview",
              "transformation": {
                "fields": [
                  "source",
                  "title",
                  "author",
                  "postedAt",
                  "matchedKeyword",
                  "url"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "source": {
                    "label": "Source",
                    "format": "text"
                  },
                  "title": {
                    "label": "Title",
                    "format": "text"
                  },
                  "author": {
                    "label": "Author",
                    "format": "text"
                  },
                  "postedAt": {
                    "label": "Posted",
                    "format": "text"
                  },
                  "matchedKeyword": {
                    "label": "Keyword",
                    "format": "text"
                  },
                  "url": {
                    "label": "URL",
                    "format": "link"
                  }
                }
              }
            },
            "detailed": {
              "title": "Detailed Results",
              "transformation": {
                "fields": [
                  "source",
                  "title",
                  "author",
                  "postedAt",
                  "syntax",
                  "language",
                  "views",
                  "matchedKeywords",
                  "url",
                  "rawUrl"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "source": {
                    "label": "Source",
                    "format": "text"
                  },
                  "title": {
                    "label": "Title",
                    "format": "text"
                  },
                  "author": {
                    "label": "Author",
                    "format": "text"
                  },
                  "postedAt": {
                    "label": "Posted",
                    "format": "text"
                  },
                  "syntax": {
                    "label": "Syntax",
                    "format": "text"
                  },
                  "language": {
                    "label": "Language",
                    "format": "text"
                  },
                  "views": {
                    "label": "Views",
                    "format": "number"
                  },
                  "matchedKeywords": {
                    "label": "Keywords",
                    "format": "text"
                  },
                  "url": {
                    "label": "URL",
                    "format": "link"
                  },
                  "rawUrl": {
                    "label": "Raw URL",
                    "format": "link"
                  }
                }
              }
            }
          }
        }
      },
      "defaultRunOptions": {
        "build": "latest",
        "timeoutSecs": 3600,
        "memoryMbytes": 1024
      },
      "minMemoryMbytes": 1024,
      "maxMemoryMbytes": 1024
    },
    "buildNumber": "2.0.1",
    "imageDigest": "2879dd26b4bcad7be110ecc49d8fd6454ddeb513e989fa3bc258a80f5ffe3635",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "2.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.014911111111111111
    }
  }
}