{
  "openapi": "3.0.1",
  "info": {
    "title": "People Search API - Reverse Phone, Email and Address",
    "description": "Reverse lookup a phone number, email address, name, street address or username into the people behind it: names, ages, current and past addresses, phone numbers, emails, relatives, social profiles, work history, schools and property records. Pay per person found.",
    "version": "0.1",
    "x-build-id": "yKvq5xWsoKtjHdesZ"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~people-search-lookup-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-people-search-lookup-api",
        "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/nabeelbaghoor~people-search-lookup-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-people-search-lookup-api",
        "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/nabeelbaghoor~people-search-lookup-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-people-search-lookup-api",
        "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": {
          "mode": {
            "title": "What to search by",
            "enum": [
              "phone",
              "email",
              "name",
              "address",
              "username",
              "person-id"
            ],
            "type": "string",
            "description": "Which search to run. Each takes a different kind of input, so a run searches one way at a time. Entries that cannot be what this search expects are refused before they are sent, since the provider charges per request either way.",
            "default": "phone"
          },
          "queries": {
            "title": "What to look up",
            "type": "array",
            "description": "One value per line. A reverse phone search takes a ten digit US number; a leading country code is dropped rather than refused. Name searches accept a plain name such as Jane Doe, and address searches accept a one line address such as 123 Main St, Springfield, IL. For finer control, give JSON objects instead and use the provider's own field names: first_name, last_name, middle_name, street, unit, city, state, relative_first_name, relative_last_name. Duplicates are searched once.",
            "items": {
              "type": "string"
            }
          },
          "ageMin": {
            "title": "Minimum age",
            "minimum": 0,
            "maximum": 120,
            "type": "integer",
            "description": "In a name search, narrow the search to people at least this old, and drop younger people from the results of any search. Age is one of the few things that reliably separates two people with the same name in the same city. Leave at zero to skip this.",
            "default": 0
          },
          "ageMax": {
            "title": "Maximum age",
            "minimum": 0,
            "maximum": 120,
            "type": "integer",
            "description": "In a name search, narrow the search to people no older than this, and drop older people from the results of any search. Leave at zero to skip this.",
            "default": 0
          },
          "distance": {
            "title": "Search radius in miles",
            "minimum": 0,
            "maximum": 500,
            "type": "integer",
            "description": "In a name search that includes a city or an address, how far around it to look. Widen this when somebody may have moved within a metropolitan area. Leave at zero for the provider's own default.",
            "default": 0
          },
          "includePossibleMatches": {
            "title": "Include possible matches",
            "type": "boolean",
            "description": "In a name search, also return people the provider considers a partial rather than a confident match. Turn this on when a confident search returned nothing and you would rather sift than miss the person; leave it off when precision matters more than recall.",
            "default": false
          },
          "followPages": {
            "title": "Follow result pages",
            "type": "boolean",
            "description": "Keep asking for the next page of a name or address search until the result cap is reached. The other four searches return everything at once and are unaffected. Turn this off to take only the first page of each search, which is the cheaper way to sample a large list.",
            "default": true
          },
          "currentOwnersOnly": {
            "title": "Current owners only",
            "type": "boolean",
            "description": "In a reverse search, keep only the person who has the number or address now and drop everyone who had it before. Worth understanding rather than just ticking: a reverse search returns everyone the provider has ever associated with an identifier, and the person who had the number in 2011 is not the person who has it today. Off by default, because the history is often the point.",
            "default": false
          },
          "minConfidenceScore": {
            "title": "Minimum confidence score",
            "minimum": 0,
            "maximum": 1,
            "type": "number",
            "description": "Keep only people the provider matched to your search with at least this confidence. The right instrument when a name search returns too many near-misses. Leave at zero to keep every match.",
            "default": 0
          },
          "excludeDeceased": {
            "title": "Drop deceased people",
            "type": "boolean",
            "description": "Leave out records the provider has marked as deceased. Usually right for any outreach or contact list, and usually wrong for genealogy or estate work.",
            "default": false
          },
          "excludeCompanies": {
            "title": "Drop business records",
            "type": "boolean",
            "description": "Leave out records that are a business rather than a person, which is common on reverse phone searches of numbers that were once commercial lines.",
            "default": false
          },
          "requirePhone": {
            "title": "Keep only people with a phone number",
            "type": "boolean",
            "description": "Drop people whose record carries no phone number.",
            "default": false
          },
          "requireEmail": {
            "title": "Keep only people with an email address",
            "type": "boolean",
            "description": "Drop people whose record carries no email address.",
            "default": false
          },
          "requireAddress": {
            "title": "Keep only people with an address",
            "type": "boolean",
            "description": "Drop people whose record carries no street address.",
            "default": false
          },
          "states": {
            "title": "Keep only these states",
            "type": "array",
            "description": "Only keep people whose current address is in one of these US states, written as two-letter codes. Leave empty to keep every state.",
            "items": {
              "type": "string"
            }
          },
          "networks": {
            "title": "Keep only these social networks",
            "type": "array",
            "description": "In a username search, only keep profiles on these networks, written as the provider names them. Matching ignores capitalisation. Leave empty to keep every network.",
            "items": {
              "type": "string"
            }
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 3000,
            "type": "integer",
            "description": "Pace the run so it stays under whatever rate your plan allows. Lower this if the provider starts rate limiting; raise it to finish a long list sooner.",
            "default": 120
          },
          "skipNotFound": {
            "title": "Skip searches with no result",
            "type": "boolean",
            "description": "Leave searches that matched nobody, and entries refused before they were sent, out of the dataset. Off by default, because knowing which of your inputs found nothing is usually the point. Misses are never charged for either way.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 100000,
            "type": "integer",
            "description": "Stop after this many rows. Note that a row is one person found rather than one search performed, so a short list of names can produce a lot of rows. This is the cap on both spend and run time.",
            "default": 100
          },
          "apiKey": {
            "title": "API key",
            "type": "string",
            "description": "Your own API key for the people search API, taken from your provider account. This provider checks the key at its gateway before it looks at the request, so a plain forbidden response almost always means the key is missing, mistyped, or not yet enabled for this product on your account. Stored as a secret."
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}