{
  "openapi": "3.0.1",
  "info": {
    "title": "GDPR Contact Enrichment API - Email Finder for Europe",
    "description": "Enrich contacts and companies from an email, a profile URL, a website, or a name plus employer. Returns verified business emails, direct and mobile phones, job level and function, plus European company registration, VAT, activity code and headcount. Pay per result. Bring your own API key.",
    "version": "0.1",
    "x-build-id": "1qAnY0ctkF8PxbeWY"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/nabeelbaghoor~gdpr-contact-enrichment-api/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-nabeelbaghoor-gdpr-contact-enrichment-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~gdpr-contact-enrichment-api/runs": {
      "post": {
        "operationId": "runs-sync-nabeelbaghoor-gdpr-contact-enrichment-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~gdpr-contact-enrichment-api/run-sync": {
      "post": {
        "operationId": "run-sync-nabeelbaghoor-gdpr-contact-enrichment-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 enrich from",
            "enum": [
              "emailEnrich",
              "linkedinEnrich",
              "companyEnrich",
              "customRows"
            ],
            "type": "string",
            "description": "Email enrichment starts from a list of addresses. Profile enrichment starts from professional profile URLs. Company enrichment starts from company websites. Contact rows lets you send the provider's own contact shape, which is the only way to pair a person's name with a specific employer or to start from a company registration number.",
            "default": "emailEnrich"
          },
          "emails": {
            "title": "Email addresses",
            "type": "array",
            "description": "Email addresses to enrich, one per line. An address pasted inside a longer string, such as a mail header or a name and address pair, is extracted before the request.",
            "items": {
              "type": "string"
            }
          },
          "profileUrls": {
            "title": "Profile URLs",
            "type": "array",
            "description": "Public professional profile URLs, one per line. A bare handle is expanded to a full URL and tracking parameters are stripped, so a list copied out of a browser still works.",
            "items": {
              "type": "string"
            }
          },
          "websites": {
            "title": "Company websites",
            "type": "array",
            "description": "Company websites or domains, one per line. A pasted URL is reduced to the bare hostname. Company enrichment returns the registration data, the activity code and the headcount behind each one.",
            "items": {
              "type": "string"
            }
          },
          "contacts": {
            "title": "Contact rows",
            "type": "array",
            "description": "Contacts in the provider's own shape, as a list of objects. Each row needs one workable combination: a first and last name plus a company, a full name plus a company, a profile URL, or an email address. Optional keys are website, company_linkedin, phone, job, country, num_siren, siret and custom_fields. Contact rows mode only."
          },
          "includeCompanyRegistry": {
            "title": "Include company registry data",
            "type": "boolean",
            "description": "Ask the provider to resolve the company against the French business register, which adds the registration number, the establishment number, the registered address, the VAT number, the activity code and the reported turnover. Worth turning on for any list with French companies in it, and harmless otherwise.",
            "default": false
          },
          "language": {
            "title": "Output language",
            "enum": [
              "en",
              "fr"
            ],
            "type": "string",
            "description": "Which language the provider should return descriptive fields in, such as the activity description on a company. Leave on the provider default unless you have a reason to change it.",
            "default": "en"
          },
          "batchSize": {
            "title": "Contacts per batch",
            "minimum": 1,
            "maximum": 250,
            "type": "integer",
            "description": "How many contacts to submit in one batch. The provider allows up to 250, which is the default and almost always the right choice: a batch is processed asynchronously, so larger batches mean fewer waits rather than longer ones.",
            "default": 250
          },
          "batchTimeoutMinutes": {
            "title": "Batch timeout (minutes)",
            "minimum": 1,
            "maximum": 60,
            "type": "integer",
            "description": "How long to wait for one batch to finish before giving up on it. Raise it for very large batches on a busy account. The actor polls with a widening gap rather than continuously, so a longer timeout does not mean more requests.",
            "default": 15
          },
          "requestsPerMinute": {
            "title": "Requests per minute",
            "minimum": 1,
            "maximum": 300,
            "type": "integer",
            "description": "Pace the run so it stays under whatever rate your plan allows. This covers both the submissions and the polls.",
            "default": 60
          },
          "skipNotFound": {
            "title": "Skip inputs with no result",
            "type": "boolean",
            "description": "Leave contacts the provider could not enrich out of the dataset. Off by default, because keeping the misses is what lets you see which inputs resolved and which did not. Misses are never charged for either way.",
            "default": false
          },
          "maxResults": {
            "title": "Maximum results",
            "minimum": 1,
            "maximum": 50000,
            "type": "integer",
            "description": "Stop after this many 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 contact enrichment API, sent in a dedicated request header rather than a URL parameter, so it never appears in a log line or a redirect. Required for every request. 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
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}