{
  "openapi": "3.0.1",
  "info": {
    "title": "B2B & Local Business Email, Phone & Social Enricher",
    "description": "Deep-crawls business websites (including /contact, /about, /impressum, and /legal subpages) to extract verified emails, phone numbers, WhatsApp links, and social media profiles.",
    "version": "1.0",
    "x-build-id": "Ymya1m4fwxhSWG4Gm"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/super_vegetable~b2b-local-business-email-social-finder/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-super_vegetable-b2b-local-business-email-social-finder",
        "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/super_vegetable~b2b-local-business-email-social-finder/runs": {
      "post": {
        "operationId": "runs-sync-super_vegetable-b2b-local-business-email-social-finder",
        "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/super_vegetable~b2b-local-business-email-social-finder/run-sync": {
      "post": {
        "operationId": "run-sync-super_vegetable-b2b-local-business-email-social-finder",
        "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": {
          "city": {
            "title": "Target City / Location (Discovery Mode)",
            "type": "string",
            "description": "City and country to automatically discover local businesses via OpenStreetMap API (e.g. 'Madrid, Spain', 'Barcelona, Spain', 'London, UK', 'Miami, USA'). Leave empty if you only want to enrich the custom 'urls' list below.",
            "default": "Madrid, Spain"
          },
          "businessCategory": {
            "title": "Business Category / Niche",
            "type": "string",
            "description": "Category to discover in the target city (e.g. dentist, dentista, lawyer, abogado, clinic, hotel, real_estate, inmobiliaria, company, empresa, architect, restaurant, gym, pharmacy, coworking).",
            "default": "dentist"
          },
          "urls": {
            "title": "Direct Business Websites / Domains (Optional)",
            "type": "array",
            "description": "Optional list of specific company URLs/domains to deep-crawl and enrich.",
            "default": [],
            "items": {
              "type": "string"
            }
          },
          "crawlContactSubpages": {
            "title": "Deep Crawl Contact / Legal / About Subpages",
            "type": "boolean",
            "description": "Automatically discovers and scrapes internal /contact, /contacto, /aviso-legal, /about, and /impressum pages where corporate emails and phones are located.",
            "default": true
          },
          "corporateEmailsOnly": {
            "title": "GDPR / B2B Filter: Corporate Domain Emails Only",
            "type": "boolean",
            "description": "If enabled, filters out personal/free email providers (gmail.com, hotmail.com, etc.) from the primary emails array.",
            "default": false
          },
          "extractSpanishCif": {
            "title": "Extract and Verify Spanish Tax ID (CIF / NIF)",
            "type": "boolean",
            "description": "Scrapes and validates Spanish corporate CIFs from /aviso-legal, footer, and privacy policies using the official checksum algorithm.",
            "default": true
          },
          "verifyEmailDeliverability": {
            "title": "Verify Email Domain Active DNS (Zero-Bounce)",
            "type": "boolean",
            "description": "Verifies that the corporate email domain resolves active DNS host records to avoid cold email bounce penalties.",
            "default": true
          },
          "maxSubpagesPerDomain": {
            "title": "Max Contact Subpages per Domain",
            "minimum": 0,
            "maximum": 10,
            "type": "integer",
            "description": "Maximum number of internal contact/legal subpages to crawl per business website.",
            "default": 3
          },
          "maxResults": {
            "title": "Max Businesses to Enrich",
            "minimum": 1,
            "maximum": 200,
            "type": "integer",
            "description": "Maximum number of enriched business leads to return.",
            "default": 15
          },
          "timeoutSeconds": {
            "title": "HTTP Timeout (seconds)",
            "minimum": 5,
            "maximum": 60,
            "type": "integer",
            "description": "Timeout per HTTP request in seconds.",
            "default": 12
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}