I Ran a Commercial Lease Through the Date Extractor. Here's Every Deadline It Found.
Commercial leases are full of dates that are easy to miss on a quick read. I ran one through the AI date extractor to see what it surfaces. Here's the full output.
June 29, 2026
Commercial leases are not like most contracts. They are long, they are dense, and the dates that matter most are rarely in obvious places. The lease expiration date is easy to find. The option-to-renew notice window buried in section 12 is not.
That is where clients get into trouble. Not because the clause was missing, but because nobody flagged it as a deadline with a specific calendar date attached to it. By the time someone looks for it, the window has passed.
The contract date extractor on this site is built for exactly this. You paste the lease text, and it returns every date and deadline it finds, organized by type with a risk level for each one.
What it found in a standard commercial lease
I ran a three-year commercial office lease through the tool. Here is what it returned:
The two high-risk items are the ones that actually matter day to day. The lease expiration date is obvious. The option-to-renew notice deadline is not.
The auto-renewal clause is where real value is
The lease had a standard renewal option: the tenant could extend for an additional three years at a 5% rent increase, provided they gave written notice no later than 90 days before the lease expiration.
That window was September 30. The lease expired December 31. If no one flagged September 30 as a hard deadline, the option lapses. The tenant either loses the renewal right entirely or is at the landlord's mercy to negotiate a new term.
The auto-renewal trigger is the other side of the same problem. Some leases do not give you a renewal option at all. Instead, they auto-renew for a full additional term unless the tenant gives notice of non-renewal within a specific window. Miss that window and you are locked in for another two to five years.
The tool surfaces both. The attorney decides what to do with them.
The medium-risk items still matter
The annual rent escalation and CAM reconciliation deadlines are not emergencies, but they are worth tracking.
The rent escalation is a money issue: 3% per year on an $8,500 monthly lease is $255 per month starting January 1. The client should know that date is coming. Some leases tie the escalation to CPI instead of a fixed percentage, which adds another layer to flag.
The CAM reconciliation deadline is the landlord's obligation: they must deliver an annual statement of common area maintenance charges by March 31. If they miss it or if the figures are disputed, the tenant has rights. The tool flags it so someone knows the date exists.
What the tool does not do
It does not tell you what the clauses mean or what to do about them. Whether 90 days of notice is enough time, whether the auto-renewal terms are favorable, whether the CAM reconciliation language gives the tenant any audit rights. Those are legal questions that require reading the specific lease and knowing the client's situation.
The tool makes sure you have all the dates. The attorney figures out which ones require action.
For anyone reviewing contracts regularly, the value is not in any single date. It is in knowing that no date was missed because the extraction is systematic rather than a manual read-through.
The prompts behind it
If you want to run this in ChatGPT or Claude directly, these are the two prompts the tool uses. Paste your lease text into Step 1, then feed that output into Step 2.
Step 1 — extract every date reference:
Step 1 — Extract Date References
You are a legal document analyst. Read the contract below and extract every time-based obligation, deadline, and date-reference it contains.
For each one, note:
- The exact type of deadline or date (e.g. auto-renewal opt-out, payment due date, notice period)
- Any specific date mentioned, written out exactly as it appears
- Any relative timing ("30 days after signing", "annually on the anniversary date")
- The relevant clause or sentence it appears in (quote it directly)
- Risk level: high (easy to miss, causes automatic commitment, default, or loss of rights), medium (financial or deliverable deadline), or low (informational date)
Be thorough. Read every section including all exhibits, schedules, and appendices. Include:
- Effective and execution dates
- Expiration and termination dates
- Auto-renewal clauses and opt-out deadlines
- Notice periods (termination, cancellation, renewal)
- Payment schedules and due dates — including retainer, setup fees, and reimbursement/invoice payment windows
- Interest accrual triggers and late payment thresholds (e.g. interest starts after X days, suspension after Y days — treat each as a separate entry)
- Milestone and deliverable deadlines — including any recurring delivery schedules in exhibits or appendices (e.g. "delivered by the 5th business day of each month")
- Acceptance or approval windows where inaction after the window constitutes acceptance or forfeits a right (e.g. "client has 14 days to notify of deficiencies — if no notice, deficiencies are deemed accepted")
- Cure periods and default notice deadlines
- Post-termination obligations with time limits (return of materials, final deliveries, outstanding payments)
- Fee review and adjustment notice deadlines — treat each separately even if arising from similar clauses. For each, extract the notice DUE DATE (the deadline to send notice), not just the review or renewal date itself
- Any other time-referenced obligation
Also note:
- The full legal names of all parties to the contract
- The contract title or type
Contract:
{contract_text}
Step 2 — structure into a ranked list:
Step 2 — Structure to JSON
Given the following extracted date information from a legal contract, produce a JSON object with this exact schema:
{
"contract_title": string or null,
"parties": string[],
"dates": [
// one entry per date, deadline, or time-based obligation found — a typical contract returns 5–15 entries
{
"label": string,
"date": "YYYY-MM-DD" or null,
"relative": string or null,
"risk": "high" | "medium" | "low",
"clause": string
},
// ... repeat for every date/deadline found
],
"missing_info": string[]
}
Risk rules:
- high: auto-renewal opt-out deadlines, cancellation/termination notice periods, cure periods, response deadlines, acceptance/approval windows where silence after the deadline constitutes automatic acceptance, any deadline where missing it forfeits a right — anything where missing it causes automatic commitment, default, or loss of rights
- medium: payment due dates, milestone/deliverable deadlines, expiration dates, recurring reporting deadlines, fee review notice deadlines, post-termination return obligations
- low: effective date, execution date, start date, commencement date
Field rules:
- "contract_title": the title or type of the contract (e.g. "Professional Services Agreement"); null only if truly absent
- "parties": full legal names of all contracting parties — never return an empty array if names appear in the document
- "date": YYYY-MM-DD if an absolute date is determinable; null otherwise
- "relative": use if the deadline is expressed relative to another event (e.g. "30 days before anniversary date"); null if an absolute date was given
- "clause": quote the most relevant sentence or phrase from the contract (under 200 chars)
- "missing_info": list any obligations or deadlines that are ambiguous, have no anchor date, or require attorney verification — do not return an empty array if gaps exist
- Sort "dates" by risk: high first, then medium, then low
- Return only valid JSON, no explanation
Extracted information:
{extracted_info}
Try it on your own lease
Paste any commercial lease or contract below. The tool runs both steps automatically and returns every date and deadline organized by risk level. No account required.
▶ Extract dates from your contract5 free runs/day · no account needed
Contract text
1 Read contract
2 Structure dates
Free · 5 runs/day
Want to talk?
I'm building NileLegal — a product that runs these pipelines automatically, without the API key setup. If you want to see it on your actual case files, have questions about the pipeline, or want to discuss a custom build, book a call.