TL;DR
A recruiter asks “what’s your salary range?” before you know the level or budget. Whoever names a number first usually loses ground, so your goal is to anchor at the 75th percentile of market, give a range with your target at the bottom, and never say “I’m flexible” without a number. This guide gives you one copy-ready prompt that drafts three scripts (direct, deflect-then-firm, exploratory) so you can pick by the recruiter’s posture and the hiring stage. AI is the rehearsal partner; the market data and the legal call are yours.
The task
A recruiter asks for your salary range, usually before they have told you the level, the band, or the role’s responsibilities. You want to answer in a way that anchors high without being absurd, leaves negotiation room, and does not commit you before you have the full picture. Most candidates fail one of two ways: they name a number too early (and get pinned to it), or they get so evasive they read as difficult. The fix is not improvisation under pressure. It is three drafted scripts you rehearse out loud and pick from based on the recruiter’s posture.
Why bother? Negotiation works. Surveys cited in 2026 salary guides put the share of candidates who negotiate and get some positive result above 85%, and tech candidates who push back report an average bump in the low-five-figures. The scripts below are how you stay in the room long enough to capture that.
The anchoring math (do this before you open the AI)
The number you name decides the floor of the conversation. Two rules from current negotiation advice:
- Anchor at the 75th percentile, not the median. Pull your role, level, and metro from Levels.fyi (engineering, product, design), Glassdoor, or LinkedIn Salary, and read the 75th-percentile total comp. That is your target, not a stretch.
- Give a range with your target at the bottom. If the 75th percentile is $150K total, say “$150K to $170K,” not “$130K to $150K.” Recruiters anchor near the bottom of whatever range you say, so the bottom must be your target.
Feed those real figures to the AI. A model does not know your metro’s 2026 band; it will invent a plausible-but-wrong number if you let it. Your job is to supply the data and let the model vary the phrasing.
Know the law before you answer (US, as of June 2026)
Two different legal questions matter, and they have different answers by state. AI cannot make this call for you, so resolve it first.
| Question | Where it applies (as of June 2026) | What it means for your script |
|---|---|---|
| Can the employer ask my past salary? | Banned in ~20 states + DC + Puerto Rico, including CA, NY, NJ, MA, IL, CO, WA, CT, OR, PA | You can decline to share current/past comp politely; pivot to target instead |
| Must the employer disclose the range? | ~12 states require it in postings or on request: CA, CO, HI, IL, ME, MD, MA, MN, NJ, NY, VT, WA | You can flip the question back: “What range is this role budgeted for?” |
If you are in a disclosure state, your strongest opener is to ask them for the budgeted range first. Legal scope changes; confirm your own state with a current source such as the HR Dive salary-history-ban tracker before a real call.
When AI helps and when it does not
AI is genuinely good at one thing here: taking a single number you decided and producing three distinct, natural phrasings with different tone and posture. It is poor at everything that requires your context. It does not know your metro’s band, your leverage, or whether a competing offer is in play, so it will guess. And it cannot make the disclosure call above. Treat the model as a phrasing engine, not a strategist.
Which model? Any current frontier chat model handles this well, so use what you already pay for: ChatGPT (GPT-5.5), Claude (Sonnet 4.6), or Gemini 3.1 Pro on the free tiers are all sufficient for three short scripts. Claude tends to keep the “warm but firm” register without going syrupy; GPT-5.5 is slightly tighter on word count. There is no reason to pay for a tier just for this.
What to feed the AI
- Role + level + metro (specificity changes the band)
- Market data with sources (Levels.fyi, Glassdoor, friend reports) and the 75th-percentile figure
- Current total comp and target total comp (base, bonus, equity broken out)
- What you cannot move on (location, hours, equity vs. cash)
- The recruiter’s posture (warm and chatty, cold and process-driven)
- The stage (pre-screen, post-screen, post-offer)
Copy-ready prompt
I am being asked for my salary range. Help me rehearse.
Role and level: [line]
Metro: [line]
Market data with sources: [list, include the 75th-percentile total comp]
Current total comp (base / bonus / equity): [numbers]
Target total comp: [number]
Recruiter posture: [warm / cold / process-driven]
Stage: [pre-screen / post-screen / post-offer]
Write 3 reply scripts:
(a) confident-direct — name a range, target at the bottom, anchor high
(b) deflect-then-firm — defer until I have role/budget info, then commit to the range
(c) exploratory — turn the question into a conversation about scope and budget
For each script give me:
- Under 60 words spoken (about 35-40 written)
- One line of body-language / tone note ("smile, pause one beat, then deliver")
- The risk of using this script
- When it works best (which recruiter posture, which stage)
Rules: Do not anchor at my current comp. Do not justify with "I need this much."
Never use "I'm flexible" without a paired range. Keep base vs. total comp distinct.
If you are in a disclosure or salary-history-ban state, add this line:
I am in [state]. Mark which script is safest given that the employer cannot ask my past pay
and/or must disclose its range on request, and rewrite the opener to ask for their range first.
A worked example
Say you are a Senior Software Engineer in Seattle. Levels.fyi shows the 75th percentile around $290K total (base + bonus + equity) for your level and company tier; your current total is $240K. You feed those numbers in. A good deflect-then-firm output reads like:
“I want to make sure I’m calibrated to the actual scope, so I’d love to hear the band you’ve set for this level. Based on what I’m seeing for senior IC roles in Seattle, I’m targeting $290K to $320K total — and I’m more interested in the right fit than squeezing the last dollar.”
Tone note: open relaxed, ask for their band first, deliver your range without hedging. Risk: if they have a hard cap below $290K, you have set a clear floor and may screen yourself out of a lowball you would never have taken anyway. Best at: post-screen, with a process-driven recruiter who respects a clean number.
How to check the output is usable
- Each script reads aloud in under 60 seconds (time it).
- The range you name matches your 75th-percentile market data, not your current comp.
- “I’m flexible” never appears alone; it always comes with a number.
- The deflect script acknowledges and redirects; it does not stall or sound evasive.
- The exploratory script earns useful scope or budget info, not just delay.
- Base and total comp stay distinct so the recruiter cannot slide between them.
Common mistakes
- Naming a number before you researched the market. You anchor yourself low and cannot walk it back.
- Anchoring at your current comp. You came to move up; current comp is a ceiling on your own offer.
- Justifying with “I need this much.” Recruiters negotiate market value, not your budget.
- Going silent. Recruiters read silence as a yes; fill it with your range.
- “I’m flexible” with no anchor. The negotiation is over before it started.
- Blurring base vs. total comp. A recruiter will happily let you quote total while they mean base.
FAQ
- Should I share my current comp? In the ~20 states (plus DC) with salary-history bans, the employer cannot even ask, so decline politely and pivot to your target. Where it is legal to ask, you can still decline; if you choose to share, frame it next to your target so the target is the anchor.
- Range or a single number? A range, with the lower bound set to your target (75th-percentile market). Recruiters anchor near the bottom, so the bottom has to be your floor.
- What if they push for one number? “I’m targeting the upper half of that range based on the scope and the market for this level in [metro].” You have given a number without giving up the range.
- Should I pay for a premium AI model for this? No. Three short scripts are well within the free tiers of ChatGPT, Claude, or Gemini. Spend your effort on the market data, not the model.
- What if I’m in a state that requires the employer to disclose its range? Ask for their budgeted range first. In CA, CO, NY, WA, and the other disclosure states, that is a normal, expected request and it puts the first number on them.
Related
- Salary negotiation prep: full negotiation rehearsal
- Salary negotiation prompts: additional script variants
- Recruiter reply prep AI: written replies to recruiters
- Self introduction: earn the right to negotiate
- Job description analysis: what scope info to mine
- Mock interview AI: same rehearsal pattern
Tags: #AI writing #Job search #Salary