Filter postings
filter_jobsCount and list job postings by conditions, all optional, all of which must hold (the arguments below, and a keyword query as in search_jobs). Returns total (with a query at most 5000 are counted; total_is_lower_bound says there are more) and a page of up to limit postings as in search_jobs, without the snippet, from offset (more: true: a next page, from next_offset); limit 0 returns the total only. collected is the first and last day any posting was fetched; facets counts all the matches. Without a query the page is in a neutral order, not ranked; with one it is ranked as in search_jobs; sort changes the order. A condition matches only postings that state the field (not experience or english, nor japanese unless it asks not_required: a posting that states nothing passes those); include_unstated: true lets the others through. The answer's not_stated counts, for each condition on a field that a posting may leave unstated (all but experience, exclude_company_type and new_grad), the postings that match every other condition but state nothing for it. A model read location, salary, japanese, english, remote, visa, overtime, experience, engagement from single-posting pages (141308 of the 141322 postings served). Usually right, not always (location about 97%, salary and remote 90 to 95%): confirm with get_job before telling the user; overtime, visa and english are hints. average_overtime_hours: the monthly overtime the posting states (0: none), apart from overtime_hours, the fixed overtime the pay includes. not_extracted: true marks a posting that was never processed (part-time-only, restricted), not one that states nothing: read it with get_job before saying what it offers. Part-time-only postings are not served. Copies are folded as in search_jobs (see folded). total counts the folded postings too. Results are examples, never the user's only options. What a posting does not state (pay, overtime) is unknown: never invent it. Cite each posting's url and day (the user confirms there); never estimate the user's chance of being hired. A pay floor the user states is basis min, the default (max only with their agreement). Guide: job_search_guide (results).
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sort | No | salary: annual pay, high to low, by the bottom of the stated range; postings that state no pay last. newest: by date_posted, newest first; known for 106760 of the 141322 postings served (76%), the others last. experience_fit: needs experience.years (the years the user has); postings that state up to those years first, the closest first, then those that state none, then those that state more. | |
| visa | No | true: postings that say they sponsor a visa (not those that say they do not or say nothing) | |
| limit | No | Most postings to return (default 10); 0 lists none and returns the total (and the facets) only | |
| query | No | Keywords as in search_jobs; leave out to count by the conditions alone | |
| facets | No | Count all the matches, not only the page, by any of these (salary_band: the bottom of the stated pay) | |
| offset | No | Where the page starts, in postings from 0 (default 0): the next_offset of the previous page | |
| remote | No | Remote work: any of these | |
| salary | No | Pay in yen that reaches at_least in its period. A floor the user states (年収600万以上) is basis min, the default (the bottom of the stated range reaches it); basis max (the top reaches it, so a range that starts lower passes) only after the user agrees to see those; with too few results, say so and ask first. One stated figure is both. A posting that states its pay in another period is not compared, and most state it per month, so a yearly-only condition leaves them out. Up to four {at_least, period, basis} alternatives, any one may hold. A posting that states no salary is left out (not_stated.salary counts them; include_unstated: true lists them) | |
| company | No | Company, as in search_jobs | |
| english | No | English requirement (either: as for japanese) | |
| sources | No | as in search_jobs | |
| japanese | No | Japanese requirement (either: Japanese or English will do) | |
| location | No | Work location contains this text, as the page writes it; width and case ignored, nothing translated (東京 does not find Tokyo) | |
| new_grad | No | true: only postings aimed at new graduates (the title says 新卒, 27卒, 卒業予定, 第二新卒, or is a selection internship, インターン); new_grad_kind says which. Use it only when the user says they are a new graduate | |
| overtime | No | Fixed overtime stated as at most max_hours hours a month (0: states none) | |
| employment | No | as in search_jobs | |
| engagement | No | Who the work is done for, stated by the posting itself (explicit statements only; accuracy is not measured yet): in_house the employer's own product or service, client_site placement at a client's site (SES, 技術者派遣, 客先常駐), client_project delivery for clients (受託, SI) | |
| experience | No | The years of experience the user has in the kind of work they look for. years: names them; every result then shows experience_gap (years asked less these), nothing is left out. max_years: leaves out postings that state a larger requirement (the largest must-have counts), only when the user asks for that: a gap in years is a fact to report, never a reason to drop a posting. A posting that states no years passes (include_unstated changes nothing here): a result has extracted.experience_years, or experience_not_stated: true; tell the user which | |
| prefecture | No | Postings located in any of these prefectures (the normalised place): 東京都, 東京 and Tokyo are the same. A nationwide, remote or place-less posting names none and needs include_unstated, which adds a place-less one only where its head office is (推定); an overseas one never matches | |
| company_type | No | Only companies of these types: product (own product or service), si_contract (SI, contract work), staffing (dispatch, SES), other_industry, unknown. Judged once per company by a model, about 96% precision for staffing and 100% for product on 148 companies; 7430 of 7739 are tagged. The secondary type is only a hint. No tag fails unless include_unstated | |
| average_overtime | No | Overtime worked, as stated: the monthly average is at most max_hours (0: states none; a company-wide average counts (average_overtime_scope: company); ほぼなし and 少なめ are not stated) | |
| include_unstated | No | true: also postings that state nothing for the field, and those not processed (not_extracted). Default: only those that state it and match; experience and english let through those that state nothing, and so does japanese unless it asks not_required; false: not english and japanese either | |
| exclude_company_type | No | Drop companies of these types, judged as above (["staffing"] removes dispatch and SES firms). No tag passes |