POST /api/minkabu/stocks/search
Price: 5 credits
Screen Japanese listed stocks on Minkabu by market, industry, valuation, dividend, profitability, growth, price change and perks, returning the results, target-price, analyst, AI and member ratings: price, change, market cap, PER, PBR, PSR, ROE, ROA, EPS, BPS, dividend data, revenue and profits, the four target prices with their ratings and one-month changes, prediction counts and listing date
Without filters every listed stock and fund is screened. Ratings come as Minkabu's Japanese labels (買, 売, 割安, 割高).
access-token string requiredtimeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)markets array nullable — TSE market segments (one of: "prime", "standard", "growth", "funds", "other"; examples: ["prime"])industries array nullable — TSE 33-sector industry codes (examples: ["3700"])ranges array nullable — Metric bounds; market_cap and minimum_purchase are in yen, ratios and changes in percent (examples: [{"max":10,"metric":"per"},{"metric":"dividend_yield","min":4}])timeout integer — Max scrapping execution timeout (in seconds) (default: 300; min: 20; max: 1500)metric string required — Metric to bound (one of: "market_cap", "minimum_purchase", "per", "pbr", "psr", "dividend_yield", "payout_ratio", "dps", "eps", "roe", "roa", "equity_ratio", "listing_year", "sales_cagr_3y", "operating_margin", "volume_change_percent", "perk_yield", "price_change_1d", "price_change_1w", "price_change_1m", "price_change_1y", "target_price_change_1m", "analyst_target_change_1m", "ai_fair_price_change_1m", "member_target_change_1m")min number nullable — Lower bound, inclusivemax number nullable — Upper bound, inclusivehas_perks boolean — Only stocks with shareholder perks (default: false)sort_by string — Sort key (default: "favorites"; one of: "favorites", "market_cap", "per", "pbr", "psr", "dividend_yield", "payout_ratio", "roe", "roa", "eps", "sales_cagr_3y", "operating_margin", "volume_change_percent", "price_change_1d", "price_change_1w", "price_change_1m", "price_change_1y")order string — Sort order (default: "desc"; one of: "desc", "asc")count integer required — Max number of results (min: 1; max: 2000)@type string (default: "MinkabuScreenedStock")code string requiredname string nullableurl string requiredmarket string nullableindustry string nullableprice number nullableprice_date integer nullablechange number nullablechange_percent number nullablevolume integer nullablevolume_change_percent number nullablefavorites integer nullabletarget_price number nullabletarget_price_rating string nullableanalyst_target_price number nullableanalyst_rating string nullableai_fair_price number nullableai_rating string nullablemember_target_price number nullablemember_rating string nullablebuy_predictions integer nullablesell_predictions integer nullabletarget_price_change_1m number nullableanalyst_target_change_1m number nullableai_fair_price_change_1m number nullablemember_target_change_1m number nullableprice_change_1d number nullableprice_change_1w number nullableprice_change_1m number nullableprice_change_1y number nullableminimum_purchase number nullableunit_shares integer nullablemarket_cap integer nullableper number nullablepbr number nullablepsr number nullableroa number nullableroe number nullableeps number nullablebps number nullabledps number nullabledividend_yield number nullablepayout_ratio number nullableconsecutive_dividend_increases integer nullablehas_perks boolean nullableperk_yield number nullableequity_ratio number nullablerevenue integer nullablesales_cagr_3y number nullableoperating_profit integer nullableoperating_margin number nullableordinary_profit integer nullablenet_profit integer nullablenet_assets integer nullabletotal_assets integer nullablecapital integer nullableresults_rating integer nullablelisted_date integer nullable422 — The request body did not validate 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 — The entity was not found, or a precondition failed 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.