{
  "data": {
    "id": "trWXq7fJO5W1W0RBF",
    "actId": "qg6kR2S6iTtBNgrdK",
    "userId": "gpXDxb3UynV6n6MNv",
    "startedAt": "2026-10-19T05:36:22.648Z",
    "finishedAt": "2026-10-19T05:36:44.086Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CI",
      "githubActionsRunUrl": "https://github.com/datalegion-ai/datalegion-apify/actions/runs/39205332705"
    },
    "stats": {
      "durationMillis": 21360,
      "runTimeSecs": 21.36,
      "computeUnits": 0.023733333333333332,
      "imageSizeBytes": 345157120
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"Data Legion enrichment\",\n  \"type\": \"object\",\n  \"description\": \"Enrich people or companies with Data Legion. You pay only for matched records. Free Apify plans can run Person Base without contact data and Company Base, up to 25 matched records per run; the other products need a paid plan.\",\n  \"schemaVersion\": 1,\n  \"properties\": {\n    \"product\": {\n      \"title\": \"Product\",\n      \"type\": \"string\",\n      \"description\": \"Which data you get back for each match. Person Base: name, headline, summary, current job and company, work history, education, skills, languages and social profiles. Person Premium adds seniority, job function, expense category, decision-maker and platform-worker flags, years of experience, tenure, highest degree, certifications, LinkedIn follower and connection counts, and data freshness. \\\"With contact data\\\" adds emails, phones, location, age and sex. Company Base: name, headline, description, domains, industry, size, type, founding year, office locations, tickers and social profiles; Company Premium adds office coordinates, headcount, hiring, attrition, growth, turnover, tenure, workforce breakdowns, LinkedIn follower and employee counts, and data freshness. Each matched record is charged once at the product's price; no-matches are free. Products with contact data and the Premium products need a paid Apify plan; free plans get up to 25 matched records per run.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"person_base_no_pii\",\n        \"person_base_pii\",\n        \"person_premium_no_pii\",\n        \"person_premium_pii\",\n        \"company_base\",\n        \"company_premium\"\n      ],\n      \"enumTitles\": [\n        \"Person Base, no contact data\",\n        \"Person Base with contact data (PII)\",\n        \"Person Premium, no contact data\",\n        \"Person Premium with contact data (PII)\",\n        \"Company Base\",\n        \"Company Premium\"\n      ],\n      \"default\": \"person_base_no_pii\",\n      \"prefill\": \"company_base\"\n    },\n    \"emails\": {\n      \"title\": \"Emails\",\n      \"type\": \"array\",\n      \"description\": \"Person products only. One email per line.\",\n      \"editor\": \"stringList\",\n      \"sectionCaption\": \"People\",\n      \"nullable\": true\n    },\n    \"phones\": {\n      \"title\": \"Phone numbers\",\n      \"type\": \"array\",\n      \"description\": \"Person products only. Include the country code, e.g. +1 415 555 0100.\",\n      \"editor\": \"stringList\",\n      \"nullable\": true\n    },\n    \"socialUrls\": {\n      \"title\": \"Social profile URLs\",\n      \"type\": \"array\",\n      \"description\": \"Person products only. LinkedIn, GitHub, X and similar profile URLs.\",\n      \"editor\": \"stringList\",\n      \"nullable\": true\n    },\n    \"domains\": {\n      \"title\": \"Company domains\",\n      \"type\": \"array\",\n      \"description\": \"Company products only, e.g. apify.com.\",\n      \"editor\": \"stringList\",\n      \"sectionCaption\": \"Companies\",\n      \"prefill\": [\n        \"apify.com\"\n      ],\n      \"nullable\": true\n    },\n    \"companyNames\": {\n      \"title\": \"Company names\",\n      \"type\": \"array\",\n      \"description\": \"Company products only. A domain matches more reliably than a name.\",\n      \"editor\": \"stringList\",\n      \"nullable\": true\n    },\n    \"records\": {\n      \"title\": \"Records (advanced)\",\n      \"type\": \"array\",\n      \"description\": \"Objects with any Data Legion enrich fields, for lookups the lists above don't cover. People: email, email_hash, phone, social_url, linkedin_id, legion_id, or a name (full_name, or first_name + last_name) with one of company, school, job_title, city, state, country, postal_code, address, birth_date. Companies: domain, name, linkedin_id, social_url, ticker_symbol, legion_id, optionally industry.\",\n      \"editor\": \"json\",\n      \"sectionCaption\": \"Advanced\",\n      \"example\": [\n        {\n          \"full_name\": \"Jane Doe\",\n          \"company\": \"Acme\"\n        }\n      ],\n      \"nullable\": true\n    },\n    \"minConfidence\": {\n      \"title\": \"Minimum match confidence\",\n      \"type\": \"string\",\n      \"description\": \"Drop matches below this confidence. Leave empty for the API default.\",\n      \"editor\": \"select\",\n      \"enum\": [\n        \"high\",\n        \"moderate\",\n        \"low\"\n      ],\n      \"nullable\": true\n    },\n    \"requiredFields\": {\n      \"title\": \"Required fields\",\n      \"type\": \"string\",\n      \"description\": \"Comma-separated fields a match must have, e.g. work_email or phones.type:mobile. Matches without them count as no-match and aren't charged.\",\n      \"editor\": \"textfield\",\n      \"nullable\": true\n    }\n  },\n  \"required\": [\n    \"product\"\n  ]\n}",
    "readme": "# Data Legion Person and Company Enrichment\n\nTurn an email, phone number, social profile URL or name into a full person profile, and a domain or company name into a full company profile. The data comes from [Data Legion](https://www.datalegion.ai).\n\nYou pay for records that match, plus Apify's run-start event ($0.00005 per run). No-matches, invalid inputs and errors are free.\n\n## What you can look up\n\n**People**\n\n- Emails, phone numbers (with country code), or social profile URLs (LinkedIn and others).\n- A name together with one more detail: company, school, job title, city, state, country, postal code, address or birth date. Use the **Records** input for these.\n\n**Companies**\n\n- Domains (most reliable) or company names.\n- LinkedIn IDs, ticker symbols, social URLs or Data Legion IDs, through the **Records** input.\n\n## Products and pricing\n\nPick one product per run. Each matched record is charged once. Products with contact data and the Premium products need a paid Apify plan. On a free plan you can run Person Base without contact data and Company Base, up to 25 matched records per run; the run then stops with a \"Free tier limit reached\" message.\n\n| Product                          | What you get                                                                                                                                                                                                               | Price per match |\n| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |\n| Person Base, no contact data     | Name, headline, summary, current job and company, work history, education, skills, languages, social profiles                                                                                                              | $0.01           |\n| Person Base with contact data    | Person Base plus emails, phones, location, age and sex                                                                                                                                                                     | $0.05           |\n| Person Premium, no contact data  | Person Base plus seniority, job function, expense category, decision-maker and platform-worker flags, years of experience, tenure, highest degree, certifications, LinkedIn follower and connection counts, data freshness | $0.04           |\n| Person Premium with contact data | Person Premium plus emails, phones, location, age and sex                                                                                                                                                                  | $0.08           |\n| Company Base                     | Name, headline, description, domains, industry, size, type, founding year, office locations, tickers, social profiles                                                                                                      | $0.01           |\n| Company Premium                  | Company Base plus office coordinates, headcount, hiring, attrition, growth, turnover, tenure, workforce breakdowns, LinkedIn follower and employee counts, data freshness                                                  | $0.04           |\n\nYou pay once per person or company per run: duplicate inputs (including different spellings of the same email, domain or URL) are looked up once, and if two different inputs match the same record, the second row comes back free with `charged: false` and `duplicate_of` pointing at the paid row. A run stops when it reaches the maximum charge you set for it. Every record it has charged for is in the dataset, and none beyond that. Raise the limit and run the rest again.\n\n## Input example\n\n```json\n{\n  \"product\": \"person_base_no_pii\",\n  \"emails\": [\"jane@example.com\"],\n  \"socialUrls\": [\"https://www.linkedin.com/in/janedoe\"],\n  \"records\": [{ \"full_name\": \"Jane Doe\", \"company\": \"Acme\" }],\n  \"minConfidence\": \"high\"\n}\n```\n\n- **Minimum match confidence** (`high`, `moderate`, `low`) drops weaker matches.\n- **Required fields** (for example `work_email` or `phones.type:mobile`) treats a match without those fields as a no-match, so you aren't charged for it.\n\n## Output\n\nOne dataset row per unique input record:\n\n```json\n{\n  \"index\": 0,\n  \"input\": { \"email\": \"jane@example.com\" },\n  \"status\": \"matched\",\n  \"person\": { \"full_name\": \"Jane Doe\", \"job_title\": \"...\", \"...\": \"...\" },\n  \"match_metadata\": { \"...\": \"...\" }\n}\n```\n\n`status` is one of:\n\n- `matched`: the profile is in `person` or `company`. `charged` is `true` on the row that paid for the record, `false` on a repeat.\n- `no_match`: nothing matched (free).\n- `invalid_input`: the record can't be looked up as given; `error` says why (free).\n- `error`: a temporary problem after retries; run the record again (free).\n\nA field with no value is either `null` or left out. The full field reference is in the [Data Legion docs](https://www.datalegion.ai/docs).\n\n## Responsible use\n\nContact data is personal data. Use it only for lawful purposes, as set out in Data Legion's [Acceptable Data Use policy](https://www.datalegion.ai/legal/acceptable-data-use) and [Terms](https://www.datalegion.ai/legal/terms). People who have opted out are never returned. Anyone can opt out at [datalegion.ai/legal/do-not-sell](https://www.datalegion.ai/legal/do-not-sell). Privacy policy: [datalegion.ai/legal/privacy-policy](https://www.datalegion.ai/legal/privacy-policy).\n\n## Need more volume?\n\nFor bulk files, search, higher rate limits or a direct API key, see [datalegion.ai](https://www.datalegion.ai).\n",
    "actorDefinition": {
      "actorSpecification": 1,
      "name": "data-legion-enrichment",
      "title": "Data Legion Person and Company Enrichment",
      "description": "Enrich people by email, phone or LinkedIn URL and companies by domain or name with Data Legion. Pay only for matched records.",
      "version": "0.1",
      "buildTag": "latest",
      "input": {
        "title": "Data Legion enrichment",
        "type": "object",
        "description": "Enrich people or companies with Data Legion. You pay only for matched records. Free Apify plans can run Person Base without contact data and Company Base, up to 25 matched records per run; the other products need a paid plan.",
        "schemaVersion": 1,
        "properties": {
          "product": {
            "title": "Product",
            "type": "string",
            "description": "Which data you get back for each match. Person Base: name, headline, summary, current job and company, work history, education, skills, languages and social profiles. Person Premium adds seniority, job function, expense category, decision-maker and platform-worker flags, years of experience, tenure, highest degree, certifications, LinkedIn follower and connection counts, and data freshness. \"With contact data\" adds emails, phones, location, age and sex. Company Base: name, headline, description, domains, industry, size, type, founding year, office locations, tickers and social profiles; Company Premium adds office coordinates, headcount, hiring, attrition, growth, turnover, tenure, workforce breakdowns, LinkedIn follower and employee counts, and data freshness. Each matched record is charged once at the product's price; no-matches are free. Products with contact data and the Premium products need a paid Apify plan; free plans get up to 25 matched records per run.",
            "editor": "select",
            "enum": [
              "person_base_no_pii",
              "person_base_pii",
              "person_premium_no_pii",
              "person_premium_pii",
              "company_base",
              "company_premium"
            ],
            "enumTitles": [
              "Person Base, no contact data",
              "Person Base with contact data (PII)",
              "Person Premium, no contact data",
              "Person Premium with contact data (PII)",
              "Company Base",
              "Company Premium"
            ],
            "default": "person_base_no_pii",
            "prefill": "company_base"
          },
          "emails": {
            "title": "Emails",
            "type": "array",
            "description": "Person products only. One email per line.",
            "editor": "stringList",
            "sectionCaption": "People",
            "nullable": true
          },
          "phones": {
            "title": "Phone numbers",
            "type": "array",
            "description": "Person products only. Include the country code, e.g. +1 415 555 0100.",
            "editor": "stringList",
            "nullable": true
          },
          "socialUrls": {
            "title": "Social profile URLs",
            "type": "array",
            "description": "Person products only. LinkedIn, GitHub, X and similar profile URLs.",
            "editor": "stringList",
            "nullable": true
          },
          "domains": {
            "title": "Company domains",
            "type": "array",
            "description": "Company products only, e.g. apify.com.",
            "editor": "stringList",
            "sectionCaption": "Companies",
            "prefill": [
              "apify.com"
            ],
            "nullable": true
          },
          "companyNames": {
            "title": "Company names",
            "type": "array",
            "description": "Company products only. A domain matches more reliably than a name.",
            "editor": "stringList",
            "nullable": true
          },
          "records": {
            "title": "Records (advanced)",
            "type": "array",
            "description": "Objects with any Data Legion enrich fields, for lookups the lists above don't cover. People: email, email_hash, phone, social_url, linkedin_id, legion_id, or a name (full_name, or first_name + last_name) with one of company, school, job_title, city, state, country, postal_code, address, birth_date. Companies: domain, name, linkedin_id, social_url, ticker_symbol, legion_id, optionally industry.",
            "editor": "json",
            "sectionCaption": "Advanced",
            "example": [
              {
                "full_name": "Jane Doe",
                "company": "Acme"
              }
            ],
            "nullable": true
          },
          "minConfidence": {
            "title": "Minimum match confidence",
            "type": "string",
            "description": "Drop matches below this confidence. Leave empty for the API default.",
            "editor": "select",
            "enum": [
              "high",
              "moderate",
              "low"
            ],
            "nullable": true
          },
          "requiredFields": {
            "title": "Required fields",
            "type": "string",
            "description": "Comma-separated fields a match must have, e.g. work_email or phones.type:mobile. Matches without them count as no-match and aren't charged.",
            "editor": "textfield",
            "nullable": true
          }
        },
        "required": [
          "product"
        ]
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "fields": {
            "type": "object",
            "properties": {
              "index": {
                "type": "integer",
                "title": "Index",
                "description": "Position of the record among the unique inputs."
              },
              "status": {
                "type": "string",
                "title": "Status",
                "enum": [
                  "matched",
                  "no_match",
                  "invalid_input",
                  "error"
                ],
                "description": "matched rows are charged once per record per run (see charged); no_match, invalid_input and error are free."
              },
              "input": {
                "type": "object",
                "title": "Input",
                "description": "The lookup fields sent for this record."
              },
              "person": {
                "type": [
                  "object",
                  "null"
                ],
                "title": "Person",
                "description": "Person profile (person products, matched rows only)."
              },
              "company": {
                "type": [
                  "object",
                  "null"
                ],
                "title": "Company",
                "description": "Company profile (company products, matched rows only)."
              },
              "match_metadata": {
                "type": [
                  "object",
                  "null"
                ],
                "title": "Match metadata",
                "description": "matched_on, match_type and match_confidence."
              },
              "error": {
                "type": "string",
                "title": "Error",
                "description": "Why the record couldn't be looked up (invalid_input and error rows)."
              },
              "charged": {
                "type": "boolean",
                "title": "Charged",
                "description": "Matched rows only: true for the row that paid for this record in this run, false for a repeat."
              },
              "duplicate_of": {
                "type": "integer",
                "title": "Duplicate of",
                "description": "For a repeat match: index of the row that paid for the same record."
              }
            },
            "required": [
              "index",
              "status",
              "input"
            ]
          },
          "views": {
            "overview": {
              "title": "Overview",
              "transformation": {
                "fields": [
                  "index",
                  "status",
                  "charged",
                  "duplicate_of",
                  "input",
                  "match_metadata.match_confidence",
                  "match_metadata.matched_on",
                  "error"
                ],
                "flatten": [
                  "match_metadata"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "index": {
                    "label": "#",
                    "format": "number"
                  },
                  "status": {
                    "label": "Status",
                    "format": "text"
                  },
                  "charged": {
                    "label": "Charged",
                    "format": "boolean"
                  },
                  "duplicate_of": {
                    "label": "Duplicate of #",
                    "format": "number"
                  },
                  "input": {
                    "label": "Input",
                    "format": "object"
                  },
                  "match_metadata.match_confidence": {
                    "label": "Confidence",
                    "format": "text"
                  },
                  "match_metadata.matched_on": {
                    "label": "Matched on",
                    "format": "array"
                  },
                  "error": {
                    "label": "Error",
                    "format": "text"
                  }
                }
              }
            },
            "people": {
              "title": "People",
              "transformation": {
                "fields": [
                  "index",
                  "status",
                  "charged",
                  "person.full_name",
                  "person.job_title",
                  "person.company_name",
                  "person.company_domain",
                  "person.linkedin_url",
                  "person.work_email",
                  "person.mobile_phone",
                  "person.city",
                  "person.seniority_level",
                  "person.job_function",
                  "match_metadata.match_confidence",
                  "error"
                ],
                "flatten": [
                  "person",
                  "match_metadata"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "index": {
                    "label": "#",
                    "format": "number"
                  },
                  "status": {
                    "label": "Status",
                    "format": "text"
                  },
                  "charged": {
                    "label": "Charged",
                    "format": "boolean"
                  },
                  "person.full_name": {
                    "label": "Name",
                    "format": "text"
                  },
                  "person.job_title": {
                    "label": "Job title",
                    "format": "text"
                  },
                  "person.company_name": {
                    "label": "Company",
                    "format": "text"
                  },
                  "person.company_domain": {
                    "label": "Company domain",
                    "format": "text"
                  },
                  "person.linkedin_url": {
                    "label": "LinkedIn",
                    "format": "link"
                  },
                  "person.work_email": {
                    "label": "Work email (PII products)",
                    "format": "text"
                  },
                  "person.mobile_phone": {
                    "label": "Mobile (PII products)",
                    "format": "text"
                  },
                  "person.city": {
                    "label": "City (PII products)",
                    "format": "text"
                  },
                  "person.seniority_level": {
                    "label": "Seniority (Premium)",
                    "format": "text"
                  },
                  "person.job_function": {
                    "label": "Job function (Premium)",
                    "format": "text"
                  },
                  "match_metadata.match_confidence": {
                    "label": "Confidence",
                    "format": "text"
                  },
                  "error": {
                    "label": "Error",
                    "format": "text"
                  }
                }
              }
            },
            "companies": {
              "title": "Companies",
              "transformation": {
                "fields": [
                  "index",
                  "status",
                  "charged",
                  "company.name.cleaned",
                  "company.domain",
                  "company.industry",
                  "company.size",
                  "company.type",
                  "company.founded",
                  "company.linkedin_url",
                  "company.legion_employee_count",
                  "match_metadata.match_confidence",
                  "error"
                ],
                "flatten": [
                  "company",
                  "company.name"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "index": {
                    "label": "#",
                    "format": "number"
                  },
                  "status": {
                    "label": "Status",
                    "format": "text"
                  },
                  "charged": {
                    "label": "Charged",
                    "format": "boolean"
                  },
                  "company.name.cleaned": {
                    "label": "Name",
                    "format": "text"
                  },
                  "company.domain": {
                    "label": "Domain",
                    "format": "text"
                  },
                  "company.industry": {
                    "label": "Industry",
                    "format": "text"
                  },
                  "company.size": {
                    "label": "Size",
                    "format": "text"
                  },
                  "company.type": {
                    "label": "Type",
                    "format": "text"
                  },
                  "company.founded": {
                    "label": "Founded",
                    "format": "number"
                  },
                  "company.linkedin_url": {
                    "label": "LinkedIn",
                    "format": "link"
                  },
                  "company.legion_employee_count": {
                    "label": "Employees (Premium)",
                    "format": "number"
                  },
                  "match_metadata.match_confidence": {
                    "label": "Confidence",
                    "format": "text"
                  },
                  "error": {
                    "label": "Error",
                    "format": "text"
                  }
                }
              }
            }
          }
        }
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Data Legion enrichment output",
        "properties": {
          "results": {
            "type": "string",
            "title": "Results",
            "description": "One row per unique input record: matched profiles, no-matches and invalid inputs.",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          }
        }
      },
      "dockerfile": "../Dockerfile",
      "readme": "# Data Legion Person and Company Enrichment\n\nTurn an email, phone number, social profile URL or name into a full person profile, and a domain or company name into a full company profile. The data comes from [Data Legion](https://www.datalegion.ai).\n\nYou pay for records that match, plus Apify's run-start event ($0.00005 per run). No-matches, invalid inputs and errors are free.\n\n## What you can look up\n\n**People**\n\n- Emails, phone numbers (with country code), or social profile URLs (LinkedIn and others).\n- A name together with one more detail: company, school, job title, city, state, country, postal code, address or birth date. Use the **Records** input for these.\n\n**Companies**\n\n- Domains (most reliable) or company names.\n- LinkedIn IDs, ticker symbols, social URLs or Data Legion IDs, through the **Records** input.\n\n## Products and pricing\n\nPick one product per run. Each matched record is charged once. Products with contact data and the Premium products need a paid Apify plan. On a free plan you can run Person Base without contact data and Company Base, up to 25 matched records per run; the run then stops with a \"Free tier limit reached\" message.\n\n| Product                          | What you get                                                                                                                                                                                                               | Price per match |\n| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------- |\n| Person Base, no contact data     | Name, headline, summary, current job and company, work history, education, skills, languages, social profiles                                                                                                              | $0.01           |\n| Person Base with contact data    | Person Base plus emails, phones, location, age and sex                                                                                                                                                                     | $0.05           |\n| Person Premium, no contact data  | Person Base plus seniority, job function, expense category, decision-maker and platform-worker flags, years of experience, tenure, highest degree, certifications, LinkedIn follower and connection counts, data freshness | $0.04           |\n| Person Premium with contact data | Person Premium plus emails, phones, location, age and sex                                                                                                                                                                  | $0.08           |\n| Company Base                     | Name, headline, description, domains, industry, size, type, founding year, office locations, tickers, social profiles                                                                                                      | $0.01           |\n| Company Premium                  | Company Base plus office coordinates, headcount, hiring, attrition, growth, turnover, tenure, workforce breakdowns, LinkedIn follower and employee counts, data freshness                                                  | $0.04           |\n\nYou pay once per person or company per run: duplicate inputs (including different spellings of the same email, domain or URL) are looked up once, and if two different inputs match the same record, the second row comes back free with `charged: false` and `duplicate_of` pointing at the paid row. A run stops when it reaches the maximum charge you set for it. Every record it has charged for is in the dataset, and none beyond that. Raise the limit and run the rest again.\n\n## Input example\n\n```json\n{\n  \"product\": \"person_base_no_pii\",\n  \"emails\": [\"jane@example.com\"],\n  \"socialUrls\": [\"https://www.linkedin.com/in/janedoe\"],\n  \"records\": [{ \"full_name\": \"Jane Doe\", \"company\": \"Acme\" }],\n  \"minConfidence\": \"high\"\n}\n```\n\n- **Minimum match confidence** (`high`, `moderate`, `low`) drops weaker matches.\n- **Required fields** (for example `work_email` or `phones.type:mobile`) treats a match without those fields as a no-match, so you aren't charged for it.\n\n## Output\n\nOne dataset row per unique input record:\n\n```json\n{\n  \"index\": 0,\n  \"input\": { \"email\": \"jane@example.com\" },\n  \"status\": \"matched\",\n  \"person\": { \"full_name\": \"Jane Doe\", \"job_title\": \"...\", \"...\": \"...\" },\n  \"match_metadata\": { \"...\": \"...\" }\n}\n```\n\n`status` is one of:\n\n- `matched`: the profile is in `person` or `company`. `charged` is `true` on the row that paid for the record, `false` on a repeat.\n- `no_match`: nothing matched (free).\n- `invalid_input`: the record can't be looked up as given; `error` says why (free).\n- `error`: a temporary problem after retries; run the record again (free).\n\nA field with no value is either `null` or left out. The full field reference is in the [Data Legion docs](https://www.datalegion.ai/docs).\n\n## Responsible use\n\nContact data is personal data. Use it only for lawful purposes, as set out in Data Legion's [Acceptable Data Use policy](https://www.datalegion.ai/legal/acceptable-data-use) and [Terms](https://www.datalegion.ai/legal/terms). People who have opted out are never returned. Anyone can opt out at [datalegion.ai/legal/do-not-sell](https://www.datalegion.ai/legal/do-not-sell). Privacy policy: [datalegion.ai/legal/privacy-policy](https://www.datalegion.ai/legal/privacy-policy).\n\n## Need more volume?\n\nFor bulk files, search, higher rate limits or a direct API key, see [datalegion.ai](https://www.datalegion.ai).\n",
      "environmentVariables": {
        "DATALEGION_KEY_PERSON_BASE_NO_PII": "@datalegionKeyPersonBaseNoPii",
        "DATALEGION_KEY_PERSON_BASE_PII": "@datalegionKeyPersonBasePii",
        "DATALEGION_KEY_PERSON_PREMIUM_NO_PII": "@datalegionKeyPersonPremiumNoPii",
        "DATALEGION_KEY_PERSON_PREMIUM_PII": "@datalegionKeyPersonPremiumPii",
        "DATALEGION_KEY_COMPANY_BASE": "@datalegionKeyCompanyBase",
        "DATALEGION_KEY_COMPANY_PREMIUM": "@datalegionKeyCompanyPremium"
      }
    },
    "buildNumber": "0.1.22",
    "imageDigest": "97023d043cc28eaadbd47a162ae39500480f55b5e490996dd27a970da1cc09b8",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "0.1"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.023733333333333332
    }
  }
}