SEEK Company Reviews icon

SEEK Company Reviews

From $1/1K. Scrape SEEK Australia and New Zealand company profiles and employee reviews. Choose aggregated company data with top reviews or one row per…

Start using this actor on Apify ↗Need a custom scraper?Contact us ↗

SEEK Company Reviews at a glance

SEEK Company Reviews is a ready-to-run Apify actor from abotapi for collecting jobs data. Its documented output includes review id, company id, company name, company (review) and url, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $1.70 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify.

Runs on
Apify cloud: console, API, schedules and integrations
Data type
Jobs, Automation, Developer Tools
Pricing
$1.70 per 1,000 results (Free plan), from $1.00 on paid plans
Output
Documented below · JSON, CSV, Excel
Inputs
21 options
Run success
100.0% of completed public runs in the last 30 days

From $1/1K. Scrape SEEK Australia and New Zealand company profiles and employee reviews. Choose aggregated company data with top reviews or one row per review for sentiment analysis. Region is auto-detected from each URL, with clean structured output ready for analytics.

What SEEK Company Reviews can do

  • Two record grains from one input: company aggregates with embedded top reviews, or one row per individual review.
  • Rich per-company fields: overall rating, five-star distribution, six per-category sub-ratings (work-life balance, career development, benefits, management, environment, diversity), recommended percent, salary perception score, branding, an AI-generated review summary, perks and awards.
  • Full review record: title, pros, cons, long-form experience details, reviewer job title, employment status, salary perception, per-category ratings, upvotes and review date.
  • Optional embedded open jobs: switch on includeJobs to add each company's currently listed positions to its record in the same run.
  • Deep review history on demand: 20 reviews embedded per company by default, or fetch hundreds by raising the review cap.
  • Region auto-detected per URL, so Australian and New Zealand company links can be mixed freely in one run.

Choose what to collect

These inputs let you configure SEEK Company Reviews - Profiles, Ratings & Employee Sentiment. Open the actor on Apify to enter your values and review the current options.

Supported input fields
InputWhat it controls
modestring · requiredcompanies → one row per company with embedded top reviews. reviews → one row per individual review, fanned out across the resolved companies.

Choices: companies, reviews

regionstringCountry market. AU = au.seek.com (anz-1), NZ = nz.seek.com (anz-2). When you paste URLs, the region is auto-detected per URL and overrides this field.

Choices: AU, NZ

urlsarrayPaste SEEK URLs: company profile, /reviews (a pasted ?sortby=recent is applied), /jobs, bare numeric id, legacy hosts, or a directory ?q= keyword. Region auto-detected per URL; mix AU and NZ freely. The shipped example URLs only run when Industry is cleared to blank; while Industry keeps its default (Mining, Resources & Energy) they are ignored and that industry is browsed. To scrape your own URLs, replace the examples (any other list wins). Unsupported URLs (directory landing, numeric industry ids) are skipped with a warning in the log.
keywordsstringOptional. Search SEEK by company name (e.g. 'atlassian', 'westpac', 'trust'). Several names may be separated by commas, semicolons or new lines (each is searched, up to 20 hits per name, results merged without duplicates). A comma, semicolon or new line always starts a new name, so a single company name that itself contains a comma (for example 'Smith, Jones & Co') is searched as two names; use its URL instead. Combined with 'Industry' below, the actor browses the industry then filters to companies whose name contains the keyword.
industrystringOptional. Select a SEEK industry to browse up to 30 companies in it. Combined with 'Keywords' above, narrows the industry to companies whose name matches the keyword. Leave blank to use keyword-only or URL-only sourcing.

Choices: , Accounting, Administration & Office Support, Advertising, Arts & Media, Banking & Financial Services, Call Centre & Customer Service, Community Services & Development, Construction, Consulting & Strategy, Design & Architecture, Education & Training, Engineering, Farming, Animals & Conservation, Government & Defence, Healthcare & Medical, Hospitality & Tourism, Human Resources & Recruitment, Insurance & Superannuation, Legal, Manufacturing, Transport & Logistics, Marketing & Communications, Mining, Resources & Energy, Real Estate & Property, Retail & Consumer Products, Sales, Science & Technology, Sport & Recreation, Trades & Services

maxReviewsPerCompanyintegerCompanies mode: how many top reviews to embed per company record. Reviews mode: maximum reviews per company. Set 0 for the default of 30; higher values fetch deeper history.
reviewSortstringHow SEEK orders the reviews returned. 'helpful' = most upvoted first (best for companies-mode top-N). 'recent' = newest first (best for ongoing sentiment monitoring).

Choices: helpful, recent

Show 14 more inputs
More input fields
InputWhat it controls
includeAISummarybooleanCompanies mode only. Adds SEEK's ~200-word AI-generated summary of the company's reviews (pros, cons, themes) when available. Disable to drop the field.
includeJobsbooleanCompanies mode only. When true, embeds a jobs array on each company record with the company's currently-listed jobs (id, title, location, salary, workType, listingDate, url). Adds a small amount of extra time per company. Capped by maxJobsPerCompany.
maxJobsPerCompanyintegerHard cap on jobs embedded per company when includeJobs is true. The actor pulls jobs page-by-page from SEEK Jobs and stops as soon as this many matching jobs have been collected (or the company runs out). Set 0 to pull open jobs up to the 1000 maximum (large brands like Coles, BHP can have hundreds). This is THE cap on jobs, no other field overrides it.
maxItemsintegerTotal cap across all URLs / search results. Default 1000, hard ceiling 100000 (0 is read as the ceiling). In reviews mode counts individual reviews; in companies mode counts companies. The maxJobsPerCompany cap applies independently to each company's embedded jobs and is not affected by this field.
maxTimeSecintegerWall-clock cap. When exceeded, the actor flushes whatever it already fetched and exits cleanly. 0 = no time limit.
resumeFromRunIdstringPaste a previous run ID or dataset ID to continue a large crawl without returning or charging for records already collected there. Use this after an interrupted run. For recurring monitoring of the same query, use Incremental mode below instead.
incrementalModebooleanTurn this on for daily or recurring monitoring. The first run returns everything matched as NEW. Later runs normally return only NEW, UPDATED, and REAPPEARED records. A record is UPDATED when any compared field changes (company profile, rating, review count, recommended percent, open jobs added or removed, and so on); changedFields names them. Never compared (kept in the output, never cause UPDATED): scrapedAt, topReviews, topReviewCount (companies mode), each job's listingDateDisplay, and any field you list in "Ignore fields when detecting changes". Turn on "Emit unchanged" or "Emit expired" only when you also want those records returned (and billed). State is kept separately per Mode (companies vs reviews are never mixed) and per URLs/keywords/industry/review-sort/includeJobs/includeAISummary setup; use State key when you want to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above.
stateKeystringOptional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from mode + the query/URL/review settings, different queries then never mix state with each other.
emitUnchangedbooleanOff by default. Turn on to also return records that have not changed since the last run, marked UNCHANGED. This returns, and bills, extra rows you already have, so leave it off unless you specifically want the full snapshot every run.
emitExpiredbooleanOff by default. Companies mode only, reviews mode is a bounded top-N sample per company, not an exhaustive scan, so a missing review is not reliable evidence it was deleted. Turn on to also return companies that were present in a previous run but no longer resolved by your URLs/keywords/industry, marked EXPIRED. Only produced once a run has fully scanned the tracked targets, not when Max items or Max run time capped it, or when Resume was used. This returns, and bills, extra synthetic rows, so leave it off unless you need expiry tracking.
ignoreFieldsForChangesarrayIncremental mode only. Field names that never count as a change: they stay in the output but do not make a record UPDATED or appear in changedFields. Use a top-level name such as ratingOverall, or a dotted path for a nested field such as jobs.salaryLabel. Applies to a saved baseline immediately, with no one-time wave of UPDATED rows.
mcpConnectorsarrayOptionally send the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize a connector once under Apify → Settings → Integrations, then select it here. The connector receives a condensed, human-readable summary per item (title + key fields), not the full JSON, the complete record stays in the dataset. Leave empty to skip. Supported: Notion (https://mcp.notion.com/mcp), Linear (https://mcp.linear.app/sse), Airtable (https://mcp.airtable.com/mcp), Apify (https://mcp.apify.com).
notionParentPageUrlstringURL (or id) of the Notion page under which item pages are created. Required to enable the Notion export; ignored by other connectors.
maxNotifyListingsintegerCap on items written to each connector per run. Does not affect the dataset.

Fields in the output

The documented dataset includes the fields below. Availability can depend on the source page and selected mode.

reviewIdReview ID (text)
idCompany ID (text)
nameCompany Name (text)
companyNameCompany (review) (text)
urlURL (link)
regionRegion (text)
industryIndustry (text)
ratingOverallCompany Rating (number)
reviewCount# Reviews (number)
recommendedPercentRecommend % (number)
sizeCompany size (text)
topReviewCountTop reviews embedded (number)
Show 14 more fields
titleReview Title (text)
overallRatingReview Rating (number)
recommendedRecommended (boolean)
jobTitleJob Title (text)
employmentStatusEmployment (text)
workLocationLocation (text)
createdAtReview Date (text)
scrapedAtScraped (text)
changeTypeChange type (incremental mode) (text)
changedFieldsChanged fields (incremental mode) (text)
firstSeenAtFirst seen (incremental mode) (text)
lastSeenAtLast seen (incremental mode) (text)
jobsjobs
topReviewstopReviews

Example output

An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.

{
  "id": "610233",
  "slug": "sample-company-610233",
  "url": "https://au.seek.com/companies/sample-company-610233",
  "region": "AU",
  "name": "Sample Company Pty Ltd",
  "isClaimed": true,
  "logoUrl": "https://image-service-cdn.seek.com.au/610233/logo",
  "coverImageUrl": "https://image-service-cdn.seek.com.au/610233/cover",
  "brandId": "11111111-2222-3333-4444-555555555555",
  "totalJobs": 42,
  "ratingOverall": 3.7,
  "reviewCount": 128,
  "salaryRating": 3,
  "recommendedPercent": 64,
  "ratingBreakdown": {
    "companyRating1StarCount": 6,
    "companyRating1StarPercentage": 4.7,
    "companyRating2StarCount": 9,
    "companyRating2StarPercentage": 7,
    "companyRating3StarCount": 24,
    "companyRating3StarPercentage": 18.8,
    "companyRating4StarCount": 62,
    "companyRating4StarPercentage": 48.4,
    "companyRating5StarCount": 27,
    "companyRating5StarPercentage": 21.1
  },
  "categoryRatings": [
    {
      "rating": 3.8,
      "count": 128,
      "description": "Work/Life balance"
    },
    {
      "rating": 3.5,
      "count": 128,
      "description": "Career development"
    },
    {
      "rating": 3.9,
      "count": 128,
      "description": "Benefits & perks"
    },
    {
      "rating": 3.4,
      "count": 128,
      "description": "Management"
    },
    {
      "rating": 3.7,
      "count": 128,
      "description": "Working environment"
    },
    {
      "rating": 3.6,
      "count": 128,
      "description": "Diversity & equal opportunity"
    }
  ],
  "aiSummary": {
    "headline": "Supportive teams, slower promotion track",
    "summary": "Generated summary text appears here, drawn from recent reviews.",
    "pros": "Colleagues are described as friendly and management as approachable.",
    "cons": "Several reviewers note limited progression beyond entry-level roles.",
    "themes": [
      "teamwork",
      "career growth",
      "work-life balance"
    ]
  },
  "perks": [
    "Flexible working hours",
    "Study leave",
    "Staff discount"
  ],
  "awards": [
    {
      "name": "Sample Employer Award",
      "year": "2025"
    }
  ],
  "topReviews": [
    {
      "reviewId": "710004421",
      "companyId": "610233",
      "title": "Good team, slow to promote",
      "pros": "Friendly colleagues and flexible hours.",
      "cons": "Promotions can take a long time to come through.",
      "jobTitle": "Customer Service Officer",
      "workLocation": "Sample Suburb NSW 2000",
      "employmentStatus": "2 to 4 years in the role, current employee",
      "salarySummary": "Average",
      "recommended": true,
      "recommendedLabel": "Recommended",
      "overallRating": 4,
      "ratings": [
        {
          "category": "Work/Life balance",
          "rating": 4
        },
        {
          "category": "Career development",
          "rating": 3
        }
      ],
      "upvotes": 6,
      "createdAt": "9 March 2026",
      "hasBeenFlagged": false
    }
  ],
  "topReviewCount": 1,
  "scrapedAt": "2026-03-14T02:15:00.000Z"
}

Ways to use this data

  • Employer branding and HR teams: track how your own company's SEEK rating, recommend percent and pros/cons shift over time.
  • Recruiters and talent teams: check a target employer's culture signals before placing a candidate or accepting a role.
  • Market researchers: build a comparison set of employee sentiment across an industry or a named shortlist of companies.
  • Sentiment and NLP pipelines: feed individual review text (title, pros, cons, experience details) into classification or theme-extraction workflows.
  • Competitive analysis: compare a company's ratings and hiring volume, via the optional open-jobs embed, against named competitors.

Before you run

Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.

Questions about this actor

What data does SEEK Company Reviews return?

The documented output for SEEK Company Reviews includes review id, company id, company name, company (review), url, region, industry and company rating. Availability of each field depends on the source page and the selected mode.

How much does SEEK Company Reviews cost?

It costs $1.70 per 1,000 results on the Apify Free plan and from $1.00 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.

Can I get only new or changed companies and reviews on a schedule?

Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new, updated and reappeared records, and unchanged ones are not billed.

Why did I get REAPPEARED or EXPIRED records I wasn't expecting?

Both only ever occur in companies mode, and only after a run with Emit expired companies turned on has completed a full, uncapped scan of your URLs/keywords/industry with no Resume. That is the only way a company is ever marked "gone" in the stored state; without it, no company can later be marked REAPPEARED either. Reviews mode never produces either state, since its review sample is a bounded top-N per company, not an exhaustive scan.

Why did my run finish with an empty dataset instead of failing?

This actor treats "nothing matched your search" and "every company failed to fetch" the same way: the run finishes with a clear status message explaining what happened, rather than erroring out, so a legitimate empty result is never confused with a crash. Check the status message and the run log for the specific reason, and try again if requests were refused.

Can I use it with AI agents or MCP?

Yes. Call it from any Apify integration or MCP client, and use the connector field to push results into Notion, Linear or Airtable.

Ready to collect with SEEK Company Reviews?

Run it on Apify with your own input and export the results as JSON, CSV or Excel.