{
  "openapi": "3.0.1",
  "info": {
    "title": "LinkedIn Sales Navigator Scraper",
    "description": "Turn a LinkedIn Sales Navigator search URL into enriched public leads. Cookieless, no SN seat. Decodes SN filters + enriches profiles. MCP/API-ready.",
    "version": "0.1",
    "x-build-id": "DNDsd4JR6Bd9cmyEU"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/khadinakbar~linkedin-sales-navigator-scraper/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-khadinakbar-linkedin-sales-navigator-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/khadinakbar~linkedin-sales-navigator-scraper/runs": {
      "post": {
        "operationId": "runs-sync-khadinakbar-linkedin-sales-navigator-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/khadinakbar~linkedin-sales-navigator-scraper/run-sync": {
      "post": {
        "operationId": "run-sync-khadinakbar-linkedin-sales-navigator-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": {
          "salesNavigatorUrl": {
            "title": "Sales Navigator search URL",
            "type": "string",
            "description": "Paste the full URL from the address bar of your LinkedIn Sales Navigator people search (e.g. 'https://www.linkedin.com/sales/search/people?query=...'). The actor decodes the title, company, location, school, industry and keyword filters from the URL and finds matching PUBLIC profiles via Google — no LinkedIn login or Sales Navigator seat is used. SN-only filters (headcount, seniority, function, intent) cannot be honored by public search and are skipped with a notice. NOT a profile URL — for that use 'profileUrls'."
          },
          "jobTitle": {
            "title": "Job title",
            "type": "string",
            "description": "Manual filter used when you are NOT pasting a Sales Navigator URL. Job title quoted as a phrase on Google (e.g. 'Head of Growth'). Combine with location/company/school to narrow. If a salesNavigatorUrl is provided, that URL's filters take precedence. NOT a free-text bio search — use the keywords field for that."
          },
          "location": {
            "title": "Location",
            "type": "string",
            "description": "Manual filter: city, region, or country to filter people by (e.g. 'San Francisco' or 'United Kingdom'). Matched against the public profile's location text. Leave empty for worldwide. Overridden by a salesNavigatorUrl when one is supplied. NOT a postal code."
          },
          "currentCompany": {
            "title": "Company",
            "type": "string",
            "description": "Manual filter: company name to filter people by (e.g. 'Stripe'). Quoted as a phrase so Google matches it exactly. Best-effort — public LinkedIn pages do not always expose the current employer. Overridden by a salesNavigatorUrl. NOT a company LinkedIn URL."
          },
          "school": {
            "title": "School / university",
            "type": "string",
            "description": "Manual filter: school or university name to filter alumni (e.g. 'Stanford University'). Quoted as a phrase on Google. Useful for alumni sourcing. Overridden by a salesNavigatorUrl. NOT a degree or field of study."
          },
          "keywords": {
            "title": "Free-text keywords",
            "type": "string",
            "description": "Manual filter: extra free-text keywords added to the Google query (e.g. 'fintech founder'). Supports Google boolean operators. Use alongside or instead of the structured filters. Merged with a salesNavigatorUrl's decoded keywords. NOT a LinkedIn profile URL."
          },
          "profileUrls": {
            "title": "Direct profile URLs (enrich a lead list)",
            "type": "array",
            "description": "Optional list of LinkedIn personal-profile URLs (https://www.linkedin.com/in/<slug>) — for example a lead list exported from Sales Navigator. When provided (and no salesNavigatorUrl is set), search is skipped and these profiles are enriched directly. Use when you already have URLs and just want full public data. NOT company or post URLs.",
            "items": {
              "type": "string"
            }
          },
          "enrichProfiles": {
            "title": "Deep profile enrichment",
            "type": "boolean",
            "description": "When true (default), each lead is fetched for full public data: about, experience, education, skills, follower/connection counts. When false, only fast search-level fields (name, headline, location, URL) are returned at the lower price. Enrichment is billed per lead.",
            "default": true
          },
          "maxResults": {
            "title": "Max leads",
            "minimum": 1,
            "maximum": 500,
            "type": "integer",
            "description": "Maximum number of leads to return (1-500). Caps both search depth and total cost. Defaults to 50. In direct-URL mode it caps how many of the supplied URLs are processed.",
            "default": 50
          },
          "resultsRegion": {
            "title": "Google region",
            "type": "string",
            "description": "Two-letter country code for the Google search region (e.g. 'US', 'GB', 'DE'). Affects which localized results surface. Defaults to 'US'. NOT the person's location filter — use the location field or Sales Navigator URL for that.",
            "default": "US"
          },
          "preferProvider": {
            "title": "Primary data provider",
            "enum": [
              "scrapecreators",
              "sociavault"
            ],
            "type": "string",
            "description": "Which data provider to try first for discovery and enrichment; the other is the automatic fallback if it errors or returns nothing. 'scrapecreators' (default) is broader and usually cheaper; 'sociavault' is the alternative. Leave on default unless you specifically want to route through SociaVault first. Both run cookieless with the same public data.",
            "default": "scrapecreators"
          }
        }
      },
      "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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}