o3-deep-research — Deprecated
- Deprecated
- —
- Shutdown
- 2026-07-23
- Status
- deprecated
- Replacement
- 5.4-Pro
Quick fix — copy & paste
Choose your language. The "before" block matches the deprecated call; the "after" block is the drop-in replacement.
# OpenAI: o3-deep-research (deprecated)
model = "o3-deep-research" # Replacement
model = "5.4-Pro" // OpenAI: o3-deep-research (deprecated)
const model = "o3-deep-research"; // Replacement
const model = "5.4-Pro"; "model": "o3-deep-research" "model": "5.4-Pro" This migration was generated automatically from the model rename. If your code does more than swap a model id, double-check request/response shapes against the official OpenAI migration guide.
Error messages
Seeing one of these? You're in the right place.
-
model_not_found: o3-deep-research -
The model `o3-deep-research` has been deprecated -
The model `o3-deep-research` does not exist or you do not have access to it -
model_not_found: o3-deep-research-2025-06-26 -
The model `o3-deep-research-2025-06-26` has been deprecated -
The model `o3-deep-research-2025-06-26` does not exist or you do not have access to it
Replacement options
-
5.4-ProCompare token cost →
Also known as
These ids point to the same deprecated model.
o3-deep-research-2025-06-26 Other OpenAI deprecations
What this means for your code
o3-deep-research is a search-grounded model that calls a web index as part of its response. Search-enabled models have separate pricing for the search call itself. Replacements may change the search backend, citation format, or maximum number of sources per response.
OpenAI has scheduled o3-deep-research for shutdown on 2026-07-23. That gives you 76 days to migrate. Until then the model still works, but every API call after that date will return a model_not_found error.
Find every call in your codebase
Before you change anything, locate every place the deprecated model id is referenced. Search source files, environment files, feature flags, and config repos. Use these commands from your project root:
Python projects
grep -rn '"o3-deep-research"' --include="*.py" . JavaScript / TypeScript projects
grep -rn '"o3-deep-research"' --include="*.{js,ts,tsx,jsx}" . Anywhere (configs, scripts, infra)
grep -rn "o3-deep-research" . Run the same searches for each alias listed above (o3-deep-research-2025-06-26). Different aliases for the same model often coexist in older code paths.
Migration checklist
Steps in order. Skip any that don't apply, but read the whole list — for search models, the non-obvious steps are usually the ones that break in production.
- 1. Update the model id and search tool configuration
- 2. Verify citation format — some models return inline markdown, others structured arrays
- 3. Re-test queries that depend on freshness or specific source domains
- 4. Check rate limits — search calls are usually rate-limited separately from token throughput
- 5. Recompute cost per response including the search-call surcharge
Will this migration cost more?
Switching from o3-deep-research to 5.4-Pro could change your costs significantly. Calculate the exact difference for your prompts.
Open the cost calculator →