{
  "openapi": "3.0.1",
  "info": {
    "title": "Maigret Username OSINT - 3,300+ Site Footprint",
    "description": "Map a public username across Maigret's 3,300+ site catalogue. Returns claimed profile URLs as the default dataset and complete per-site coverage in a separate dataset.",
    "version": "0.1",
    "x-build-id": "6jmTZWrCVEDBV5Cba"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~maigret-username-osint/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-maigret-username-osint",
        "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/khadinakbar~maigret-username-osint/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-maigret-username-osint",
        "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/khadinakbar~maigret-username-osint/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-maigret-username-osint",
        "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": [
          "username"
        ],
        "properties": {
          "username": {
            "title": "Username",
            "pattern": "^[^\\s/@?#]+$",
            "minLength": 1,
            "maxLength": 64,
            "type": "string",
            "description": "Use this when you have one public handle to map across websites. Enter the handle without @, a domain, a URL, email address, or spaces (for example, soxoj). One username is scanned per run for predictable cost and clearer provenance."
          },
          "siteLimit": {
            "title": "Site limit (0 = all selected sites)",
            "minimum": 0,
            "maximum": 5000,
            "type": "integer",
            "description": "Set a positive number for a bounded ranked scan (for example, 100), or leave 0 to scan every selected active site in the Maigret catalogue. Defaults to 0. This is a site count, not a result count.",
            "default": 0
          },
          "siteTags": {
            "title": "Include site tags",
            "maxItems": 20,
            "uniqueItems": true,
            "type": "array",
            "description": "Optionally restrict the scan to Maigret tags such as coding, social, gaming, forum, or us. An empty list keeps all tags. Tags are catalogue labels, not search keywords or profile attributes.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            },
            "default": []
          },
          "excludeTags": {
            "title": "Exclude site tags",
            "maxItems": 20,
            "uniqueItems": true,
            "type": "array",
            "description": "Optionally exclude Maigret tags from the scan, such as dating or gambling. Adult-oriented tags are excluded automatically unless includeAdultSites is true. These are catalogue filters, not content classifiers.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 40
            },
            "default": []
          },
          "siteNames": {
            "title": "Specific site names",
            "maxItems": 100,
            "uniqueItems": true,
            "type": "array",
            "description": "Optionally check named Maigret sites such as GitHub, Reddit, or VK instead of a broad scan. Leave empty for the ranked/tag-filtered catalogue. Use exact catalogue names when possible; this is not a list of arbitrary URLs.",
            "items": {
              "type": "string",
              "minLength": 1,
              "maxLength": 120
            },
            "default": []
          },
          "includeAdultSites": {
            "title": "Include adult-oriented sites",
            "type": "boolean",
            "description": "Set true only when adult-oriented public-site coverage is part of an authorized review. Defaults to false and excludes Maigret tags such as nsfw, erotic, adult, and porn. This is a catalogue filter, not a claim about a person.",
            "default": false
          },
          "includeDisabledSites": {
            "title": "Include disabled catalogue entries",
            "type": "boolean",
            "description": "Set true to force checks for Maigret entries currently marked disabled. The normal scan uses active entries only because disabled definitions can produce false positives or unreliable requests. The coverage dataset records ILLEGAL entries when Maigret skips them.",
            "default": false
          },
          "extractProfileData": {
            "title": "Extract public profile fields",
            "type": "boolean",
            "description": "Enable Maigret's optional public-page parser for claimed profiles and return bounded scalar profile fields when available. Defaults to false for faster, narrower scans. It does not log in, bypass authentication, or infer identity.",
            "default": false
          },
          "updateSiteDatabase": {
            "title": "Refresh Maigret site database",
            "type": "boolean",
            "description": "When true, use Maigret's signed metadata and SHA-256-verified database refresh path, falling back to the pinned package database when offline. Defaults to true. This refreshes site definitions, not search results.",
            "default": true
          },
          "requestTimeoutSecs": {
            "title": "Per-site timeout (seconds)",
            "minimum": 2,
            "maximum": 30,
            "type": "integer",
            "description": "Maximum seconds Maigret waits for one site check before returning an uncertain status. Defaults to 5 for full-catalogue throughput; raise it for slow sites at the cost of runtime. This is not the total Actor timeout.",
            "default": 5
          },
          "concurrency": {
            "title": "Concurrent site checks",
            "minimum": 10,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum concurrent Maigret site checks. Defaults to 100 for the 1 GB profile; lower it when using longer timeouts or a small run memory limit. This is not the number of usernames because this Actor accepts one username per run.",
            "default": 100
          },
          "retries": {
            "title": "Retries for temporary site failures",
            "minimum": 0,
            "maximum": 2,
            "type": "integer",
            "description": "Number of Maigret retries for temporary failures. Defaults to 0 so a full scan stays bounded and uncertain sites remain explicitly UNKNOWN. Increase to 1 or 2 when you accept longer runs; this is not a retry for AVAILABLE results.",
            "default": 0
          },
          "proxyConfiguration": {
            "title": "Proxy configuration",
            "type": "object",
            "description": "Optional Apify proxy configuration. Residential proxies are the default for public-site reliability; one proxy URL is allocated per run for session consistency. Disable only when you understand the target-site and network tradeoff.",
            "default": {
              "useApifyProxy": true,
              "apifyProxyGroups": [
                "RESIDENTIAL"
              ]
            }
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}