{
  "data": {
    "id": "sXAGtsZ65pbjMx7pI",
    "actId": "5QyQmFWHyuwOJPBJq",
    "userId": "LFz5m5tySDyJXqduP",
    "startedAt": "2026-10-18T16:13:45.111Z",
    "finishedAt": "2026-10-18T16:13:51.778Z",
    "status": "SUCCEEDED",
    "meta": {
      "origin": "CLI"
    },
    "stats": {
      "durationMillis": 6532,
      "runTimeSecs": 6.532,
      "computeUnits": 0.007257777777777778,
      "imageSizeBytes": 544608768
    },
    "options": {
      "useCache": true,
      "betaPackages": false,
      "memoryMbytes": 4096,
      "diskMbytes": 8192
    },
    "exitCode": 0,
    "inputSchema": "{\n  \"title\": \"LinkedIn profile URLs\",\n  \"type\": \"object\",\n  \"schemaVersion\": 1,\n  \"description\": \"Get the current company and headline from LinkedIn profile URLs. Starting from $0.40 per 1,000. Compare the result to your CRM yourself.\",\n  \"properties\": {\n    \"urls\": {\n      \"title\": \"LinkedIn profile URLs\",\n      \"type\": \"array\",\n      \"description\": \"Profile URLs you already have, such as https://www.linkedin.com/in/example.\",\n      \"editor\": \"stringList\",\n      \"prefill\": [\n        \"https://www.linkedin.com/in/osama-abdelhadi/\"\n      ],\n      \"items\": {\n        \"type\": \"string\"\n      }\n    },\n    \"urlsCsv\": {\n      \"title\": \"Or paste CSV\",\n      \"type\": \"string\",\n      \"description\": \"CSV with a url or linkedinUrl column. Do not add a company column. You compare the company after the run.\",\n      \"editor\": \"textarea\",\n      \"prefill\": \"url\\nhttps://www.linkedin.com/in/osama-abdelhadi/\"\n    },\n    \"fileUrl\": {\n      \"title\": \"Or upload a CSV file\",\n      \"type\": \"string\",\n      \"description\": \"CSV with a url or linkedinUrl column.\",\n      \"editor\": \"fileupload\"\n    },\n    \"maxUrls\": {\n      \"title\": \"Maximum URLs\",\n      \"type\": \"integer\",\n      \"default\": 100,\n      \"minimum\": 1,\n      \"maximum\": 1000000,\n      \"description\": \"Cost-control cap. Maximum 1,000,000.\"\n    },\n    \"concurrency\": {\n      \"title\": \"Concurrent requests\",\n      \"type\": \"integer\",\n      \"description\": \"How many profile URLs to check at the same time.\",\n      \"default\": 15,\n      \"minimum\": 1,\n      \"maximum\": 50\n    },\n    \"resumeId\": {\n      \"title\": \"Resume ID (optional)\",\n      \"type\": \"string\",\n      \"description\": \"Reuse the same ID after a stopped large run to skip URLs that already completed.\",\n      \"editor\": \"textfield\"\n    },\n    \"freshStart\": {\n      \"title\": \"Check finished URLs again\",\n      \"type\": \"boolean\",\n      \"description\": \"Turn this on to ignore saved progress and check the whole list again.\",\n      \"default\": false\n    }\n  }\n}",
    "readme": "# LinkedIn Profile Scraper Alternative | Current Company\r\n\r\n**Before you pay for a LinkedIn profile scraper, get the current company and headline. Starting from $0.40 per 1,000 profiles.**\r\n\r\nYou already have the profile URLs. This Actor returns the current company and the headline. You compare those two fields to the company and headline in your CRM, Clay table, or spreadsheet. If they differ, run [LinkedIn Profile Scraper](https://apify.com/oday/mawsool-linkedin-profile-details) on those rows only.\r\n\r\nThis Actor does not decide whether a company matches. It does not ask you for the old company, and it does not return `needsUpdate`.\r\n\r\nNo LinkedIn login. No cookies. You supply the URL.\r\n\r\n## What 10,000 profiles cost\r\n\r\n10,000 checks cost $4. The free plan is $0.60 per 1,000. Run the full profile scraper only on the rows you choose.\r\n\r\n## If you need a different Mawsool Actor\r\n\r\n| If this is what you need | Open |\r\n| --- | --- |\r\n| You have an email and want the LinkedIn profile. | [Reverse Email Lookup](https://apify.com/oday/mawsool-email-linkedin-lookup) |\r\n| You have a name and company and want the profile URL. | [LinkedIn Profile Finder](https://apify.com/oday/mawsool-linkedin-profile-finder) |\r\n| You have a profile URL and want the personal email. | [LinkedIn Email Finder](https://apify.com/oday/mawsool-linkedin-personal-email-finder) |\r\n| You want the full profile, after you decide a row changed. | [LinkedIn Profile Scraper](https://apify.com/oday/mawsool-linkedin-profile-details) |\r\n| You have a large file of profile URLs to scrape in full. | [Mass Profile Scraper](https://apify.com/oday/mawsool-mass-linkedin-profile-scraper) |\r\n| You want a scheduled alert when the employer or headline changes. | [Job Change Tracker](https://apify.com/oday/mawsool-linkedin-job-change-watch) |\r\n| You want this Actor to compare a company you already stored and return needsUpdate. | [Current Company Checker](https://apify.com/oday/mawsool-linkedin-company-checker) |\r\n\r\n## What a row looks like\r\n\r\n```json\r\n{\r\n  \"inputUrl\": \"https://www.linkedin.com/in/example\",\r\n  \"fullName\": \"Example Person\",\r\n  \"currentCompany\": \"Example Inc\",\r\n  \"headline\": \"VP Sales at Example Inc\",\r\n  \"linkedinNumId\": \"123456789\",\r\n  \"success\": true,\r\n  \"error\": null,\r\n  \"checkedAt\": \"2026-10-18T12:00:00.000Z\"\r\n}\r\n```\r\n\r\nA failed lookup is still one row, with `success: false` and `currentCompany: null`. You are charged for each URL processed.\r\n\r\n## How you decide who needs a full update\r\n\r\n1. Export `currentCompany` and `headline`.\r\n2. Compare them to the values already in your CRM. Use whatever match rule you trust.\r\n3. Send only the rows you want refreshed to [LinkedIn Profile Scraper](https://apify.com/oday/mawsool-linkedin-profile-details).\r\n\r\nIf you would rather hand the saved company to an Actor and get `needsUpdate` back, use [Current Company Checker](https://apify.com/oday/mawsool-linkedin-company-checker). You supply the company from your CRM. That Actor does the comparison. This one does not.\r\n\r\n## Price\r\n\r\nOne profile URL is one charge, whether or not the company is filled in.\r\n\r\n| Plan | Per 1,000 profiles |\r\n| --- | --- |\r\n| Free | $0.60 |\r\n| Bronze | $0.55 |\r\n| Silver | $0.50 |\r\n| Gold | $0.40 |\r\n| Platinum | $0.40 |\r\n| Diamond | $0.40 |\r\n\r\nStarting from $0.40 per 1,000. Gold, Platinum, and Diamond are the same price. The free plan is $0.60 per 1,000.\r\n\r\n## Use with AI agents\r\n\r\nApify exposes this Actor to ChatGPT, Claude, Gemini, Grok, and other agents through the Apify MCP server. The setup prompt is:\r\n\r\n> I have LinkedIn profile URLs. Run Mawsool's profile freshness Actor and return the current company and headline. Do not decide if the company changed. I will compare the fields to my CRM, then run the LinkedIn profile scraper only on the rows I choose.\r\n\r\n## FAQ\r\n\r\n### How do I avoid paying for a full LinkedIn profile scraper on every contact?\r\n\r\nRun this Actor on the URL list first. It returns the current company and headline, starting from $0.40 per 1,000. Compare those fields to your CRM, then scrape only the rows you want to refresh.\r\n\r\n### Does this tell me whether the person changed jobs?\r\n\r\nNo. It returns the current company and headline. You compare them to the company and headline you already stored.\r\n\r\n### Does this need a LinkedIn login or cookies?\r\n\r\nNo. You supply the profile URL.\r\n\r\n### Is one URL one charge?\r\n\r\nYes. A row with an empty company is still a processed URL.\r\n",
    "actorDefinition": {
      "$schema": "https://apify.com/schemas/v1/actor.ide.json",
      "actorSpecification": 1,
      "name": "mawsool-linkedin-profile-freshness",
      "title": "LinkedIn Profile Scraper Alternative | Current Company",
      "description": "Before you pay for a LinkedIn profile scraper, get the current company and headline from profile URLs you already have. Starting from $0.40 per 1,000. Compare those fields to your CRM yourself. This Actor does not decide if they match. No LinkedIn login and no cookies.",
      "seoTitle": "Cheaper LinkedIn Profile Scraper, Company and Headline",
      "seoDescription": "Before a full LinkedIn profile scraper, get the current company and headline. You compare them to your CRM. Starting from $0.40 per 1,000. No cookies.",
      "categories": [
        "LEAD_GENERATION",
        "SOCIAL_MEDIA",
        "AUTOMATION"
      ],
      "version": "1.0",
      "buildTag": "latest",
      "minMemoryMbytes": 256,
      "maxMemoryMbytes": 2048,
      "defaultRunOptions": {
        "build": "latest",
        "timeoutSecs": 86400,
        "memoryMbytes": 512
      },
      "environmentVariables": {
        "GUEST_API_BASE_URL": "https://guest.mawsool.tech",
        "GUEST_API_KEY": "@mawsoolGuestApiKey"
      },
      "meta": {
        "templateId": "ts-empty",
        "generatedBy": "Cursor Agent"
      },
      "input": {
        "title": "LinkedIn profile URLs",
        "type": "object",
        "schemaVersion": 1,
        "description": "Get the current company and headline from LinkedIn profile URLs. Starting from $0.40 per 1,000. Compare the result to your CRM yourself.",
        "properties": {
          "urls": {
            "title": "LinkedIn profile URLs",
            "type": "array",
            "description": "Profile URLs you already have, such as https://www.linkedin.com/in/example.",
            "editor": "stringList",
            "prefill": [
              "https://www.linkedin.com/in/osama-abdelhadi/"
            ],
            "items": {
              "type": "string"
            }
          },
          "urlsCsv": {
            "title": "Or paste CSV",
            "type": "string",
            "description": "CSV with a url or linkedinUrl column. Do not add a company column. You compare the company after the run.",
            "editor": "textarea",
            "prefill": "url\nhttps://www.linkedin.com/in/osama-abdelhadi/"
          },
          "fileUrl": {
            "title": "Or upload a CSV file",
            "type": "string",
            "description": "CSV with a url or linkedinUrl column.",
            "editor": "fileupload"
          },
          "maxUrls": {
            "title": "Maximum URLs",
            "type": "integer",
            "default": 100,
            "minimum": 1,
            "maximum": 1000000,
            "description": "Cost-control cap. Maximum 1,000,000."
          },
          "concurrency": {
            "title": "Concurrent requests",
            "type": "integer",
            "description": "How many profile URLs to check at the same time.",
            "default": 15,
            "minimum": 1,
            "maximum": 50
          },
          "resumeId": {
            "title": "Resume ID (optional)",
            "type": "string",
            "description": "Reuse the same ID after a stopped large run to skip URLs that already completed.",
            "editor": "textfield"
          },
          "freshStart": {
            "title": "Check finished URLs again",
            "type": "boolean",
            "description": "Turn this on to ignore saved progress and check the whole list again.",
            "default": false
          }
        }
      },
      "output": {
        "actorOutputSchemaVersion": 1,
        "title": "Results",
        "properties": {
          "results": {
            "type": "string",
            "title": "Results",
            "template": "{{links.apiDefaultDatasetUrl}}/items"
          },
          "flatView": {
            "type": "string",
            "title": "Flat table",
            "template": "{{links.apiDefaultDatasetUrl}}/items?view=flat"
          },
          "runSummary": {
            "type": "string",
            "title": "Run summary",
            "template": "{{links.apiDefaultKeyValueStoreUrl}}/records/OUTPUT"
          }
        }
      },
      "storages": {
        "dataset": {
          "actorSpecification": 1,
          "title": "Current company and headline",
          "description": "One row per profile URL. Compare currentCompany and headline to your CRM. This dataset does not include a match decision.",
          "fields": {
            "type": "object",
            "properties": {
              "inputUrl": {
                "type": "string",
                "title": "LinkedIn URL"
              },
              "fullName": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Full name"
              },
              "currentCompany": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Current company"
              },
              "headline": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Headline"
              },
              "linkedinNumId": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "LinkedIn numeric ID"
              },
              "success": {
                "type": "boolean",
                "title": "Success"
              },
              "error": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "Error"
              },
              "checkedAt": {
                "type": "string",
                "title": "Checked at"
              }
            }
          },
          "views": {
            "flat": {
              "title": "Flat results",
              "transformation": {
                "fields": [
                  "inputUrl",
                  "fullName",
                  "currentCompany",
                  "headline",
                  "linkedinNumId",
                  "success",
                  "error",
                  "checkedAt"
                ]
              },
              "display": {
                "component": "table",
                "properties": {
                  "inputUrl": {
                    "label": "LinkedIn URL",
                    "format": "link"
                  },
                  "success": {
                    "label": "Success",
                    "format": "boolean"
                  },
                  "checkedAt": {
                    "label": "Checked at",
                    "format": "date"
                  }
                }
              }
            }
          }
        }
      },
      "pricing": "./pay_per_event.json",
      "dockerfile": "../Dockerfile",
      "readme": "# LinkedIn Profile Scraper Alternative | Current Company\r\n\r\n**Before you pay for a LinkedIn profile scraper, get the current company and headline. Starting from $0.40 per 1,000 profiles.**\r\n\r\nYou already have the profile URLs. This Actor returns the current company and the headline. You compare those two fields to the company and headline in your CRM, Clay table, or spreadsheet. If they differ, run [LinkedIn Profile Scraper](https://apify.com/oday/mawsool-linkedin-profile-details) on those rows only.\r\n\r\nThis Actor does not decide whether a company matches. It does not ask you for the old company, and it does not return `needsUpdate`.\r\n\r\nNo LinkedIn login. No cookies. You supply the URL.\r\n\r\n## What 10,000 profiles cost\r\n\r\n10,000 checks cost $4. The free plan is $0.60 per 1,000. Run the full profile scraper only on the rows you choose.\r\n\r\n## If you need a different Mawsool Actor\r\n\r\n| If this is what you need | Open |\r\n| --- | --- |\r\n| You have an email and want the LinkedIn profile. | [Reverse Email Lookup](https://apify.com/oday/mawsool-email-linkedin-lookup) |\r\n| You have a name and company and want the profile URL. | [LinkedIn Profile Finder](https://apify.com/oday/mawsool-linkedin-profile-finder) |\r\n| You have a profile URL and want the personal email. | [LinkedIn Email Finder](https://apify.com/oday/mawsool-linkedin-personal-email-finder) |\r\n| You want the full profile, after you decide a row changed. | [LinkedIn Profile Scraper](https://apify.com/oday/mawsool-linkedin-profile-details) |\r\n| You have a large file of profile URLs to scrape in full. | [Mass Profile Scraper](https://apify.com/oday/mawsool-mass-linkedin-profile-scraper) |\r\n| You want a scheduled alert when the employer or headline changes. | [Job Change Tracker](https://apify.com/oday/mawsool-linkedin-job-change-watch) |\r\n| You want this Actor to compare a company you already stored and return needsUpdate. | [Current Company Checker](https://apify.com/oday/mawsool-linkedin-company-checker) |\r\n\r\n## What a row looks like\r\n\r\n```json\r\n{\r\n  \"inputUrl\": \"https://www.linkedin.com/in/example\",\r\n  \"fullName\": \"Example Person\",\r\n  \"currentCompany\": \"Example Inc\",\r\n  \"headline\": \"VP Sales at Example Inc\",\r\n  \"linkedinNumId\": \"123456789\",\r\n  \"success\": true,\r\n  \"error\": null,\r\n  \"checkedAt\": \"2026-10-18T12:00:00.000Z\"\r\n}\r\n```\r\n\r\nA failed lookup is still one row, with `success: false` and `currentCompany: null`. You are charged for each URL processed.\r\n\r\n## How you decide who needs a full update\r\n\r\n1. Export `currentCompany` and `headline`.\r\n2. Compare them to the values already in your CRM. Use whatever match rule you trust.\r\n3. Send only the rows you want refreshed to [LinkedIn Profile Scraper](https://apify.com/oday/mawsool-linkedin-profile-details).\r\n\r\nIf you would rather hand the saved company to an Actor and get `needsUpdate` back, use [Current Company Checker](https://apify.com/oday/mawsool-linkedin-company-checker). You supply the company from your CRM. That Actor does the comparison. This one does not.\r\n\r\n## Price\r\n\r\nOne profile URL is one charge, whether or not the company is filled in.\r\n\r\n| Plan | Per 1,000 profiles |\r\n| --- | --- |\r\n| Free | $0.60 |\r\n| Bronze | $0.55 |\r\n| Silver | $0.50 |\r\n| Gold | $0.40 |\r\n| Platinum | $0.40 |\r\n| Diamond | $0.40 |\r\n\r\nStarting from $0.40 per 1,000. Gold, Platinum, and Diamond are the same price. The free plan is $0.60 per 1,000.\r\n\r\n## Use with AI agents\r\n\r\nApify exposes this Actor to ChatGPT, Claude, Gemini, Grok, and other agents through the Apify MCP server. The setup prompt is:\r\n\r\n> I have LinkedIn profile URLs. Run Mawsool's profile freshness Actor and return the current company and headline. Do not decide if the company changed. I will compare the fields to my CRM, then run the LinkedIn profile scraper only on the rows I choose.\r\n\r\n## FAQ\r\n\r\n### How do I avoid paying for a full LinkedIn profile scraper on every contact?\r\n\r\nRun this Actor on the URL list first. It returns the current company and headline, starting from $0.40 per 1,000. Compare those fields to your CRM, then scrape only the rows you want to refresh.\r\n\r\n### Does this tell me whether the person changed jobs?\r\n\r\nNo. It returns the current company and headline. You compare them to the company and headline you already stored.\r\n\r\n### Does this need a LinkedIn login or cookies?\r\n\r\nNo. You supply the profile URL.\r\n\r\n### Is one URL one charge?\r\n\r\nYes. A row with an empty company is still a processed URL.\r\n"
    },
    "buildNumber": "1.0.3",
    "imageDigest": "3074794005c21a513a96b433b2a63fea65165775b751238d5af51f15a0e627ca",
    "actVersion": {
      "sourceType": "SOURCE_FILES",
      "buildTag": "latest",
      "versionNumber": "1.0"
    },
    "usage": {
      "ACTOR_COMPUTE_UNITS": 0.007257777777777778
    }
  }
}