POST /api/openwork/companies/reviews
Price: 20 credits
List employee reviews of one employer on OpenWork (openwork.jp): topic, answer date, the reviewer's overall score, role, tenure, current or former status, hire type and gender, the opening words of the review with its full length, and the helpful-vote count. Filter by topic, role, employment status, hire type and gender; sort by date or score.
Each review carries only its opening words and the length of the full text. Use category=salary for salary reviews, and openwork/companies/salaries for the salary averages.
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)company string required — Company id or URL (examples: "a0C1000000s1nIR", "https://www.openwork.jp/company_answer.php?m_id=a0C1000000s1nIR")count integer required — Max number of reviews to return (min: 1; max: 5000)category string nullable — Review topic (one of: "culture", "salary", "joining_reasons", "growth", "women", "work_life_balance", "leaving_reasons", "company_analysis", "advice_to_management")role string nullable — Reviewer job role as listed on the company's review page (examples: "エンジニア・SE")employment string nullable — Current or former employees (one of: "current", "former")hire_type string nullable — New-graduate or mid-career hires (one of: "new_graduate", "mid_career")gender string nullable — Reviewer gender (one of: "male", "female")sort string — Result order (default: "recommended"; one of: "recommended", "newest", "highest_score")@type string (default: "OpenworkReview")id string requiredurl string requiredrespondent_id string nullablerespondent_url string nullablecompany_id string requiredcompany_name string nullablepredecessor_note string nullablecategory string nullable (one of: "culture", "salary", "joining_reasons", "growth", "women", "work_life_balance", "leaving_reasons", "company_analysis", "advice_to_management")category_name string nullableanswered_date integer nullablescore number nullablereviewer object nullable@type string (default: "OpenworkReviewer")role string nullabletenure string nullableemployment_status string nullableis_current_employee boolean nullablehire_type string nullablegender string nullablereviewer_text string nullableexcerpt string nullabletext_length integer nullablehelpful_count integer nullable422 — An unknown filter value or a role the company does not list Check the fields against this schema. A URN with the wrong prefix is the most common cause.408 — The request ran past its time limit Raise `timeout` in the request body, up to the maximum this endpoint documents. Lowering `count` or turning off the `with_*` flags also helps, because less work finishes sooner.412 — No company under that id Retrying will not help: either the entity does not exist, or the input points at a different one.429 — Too many requests: a rate limit or a usage window is exhausted When the response carries an X-Retry-After header, wait that many seconds and retry: the same number is in the body as `detail.retry_after`, and the limit clears once that window passes. The message in the body names the limit that was hit.500 — Something broke on our side Retrying will not help. If it keeps happening, send us the X-Request-ID from the response headers.529 — Rate limit reached, or the endpoint is overloaded Wait at least 30 seconds, then retry.X-Error — Error message text (present only on error)X-Request-ID — Unique request identifierX-Execution-Time — Execution time in secondsX-Result-Count — How many records the body carries. 0 means an empty result, which is a normal answer and not by itself an error. A non-zero count can come back together with X-Error when the failure happened partway through — read this header and X-Error independently.X-Total-Available-Results — How many records exist for this query, when the endpoint can say. On a `dry_run` request this is the answer and the body is empty. It saturates: the endpoint's documented maximum means 'at least that many', any smaller number is exact.X-Warning — Present when the request body carried keys this endpoint does not document. They were ignored, so any filter you meant to apply through them did not apply. Check the spelling against this schema and retry.X-Retry-After — Seconds to wait before retrying. Present only on 429.