Spain visa rules 2026, Schengen 90/180 calculator and consulate wait times, by immigration lawyers
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
How long Spanish consulates in the US and the UK took to decide residence visa applications (mostly non-lucrative visas) in My Spain Visa's own cases decided from January 2025 to October 2026: median days and 75th percentile per consulate, plus the wait each consulate publishes. Give a consulate, or the user's US state / UK region to find theirs. Without arguments it returns the overview.
US state (and county if California) or UK county/region.
US or UK.
How long Spanish consulates in the US and the UK took to decide residence visa applications (mostly non-lucrative visas) in My Spain Visa's own cases decided from January 2025 to October 2026: median days and 75th percentile per consulate, plus the wait each consulate publishes. Give a consulate, or the user's US state / UK region to find theirs. Without arguments it returns the overview.
| Argument | Type | Description |
|---|---|---|
| consulate | string | |
| state_or_region | string | US state (and county if California) or UK county/region. |
| country_of_residence | string | US or UK. |
{
"type": "object",
"properties": {
"consulate": {
"enum": [
"london",
"manchester",
"edinburgh",
"los_angeles",
"san_francisco",
"new_york",
"chicago",
"houston",
"miami",
"washington",
"boston"
],
"type": "string"
},
"state_or_region": {
"type": "string",
"description": "US state (and county if California) or UK county/region."
},
"country_of_residence": {
"type": "string",
"description": "US or UK."
}
}
}Sends the user a free personal Spain visa assessment by email, written from the details they give: which visa fits their situation, the 2026 income figure for their household, the document checklist for their own consulate (including how to get their criminal record certificate apostilled), a realistic timeline from My Spain Visa's own case data for that consulate, and the usual refusal risks for that route. It is put together automatically from the user's answers and the firm's published figures and case data, and signed by Lucia, the firm's immigration lawyer, who reads and answers replies by email. Offer it once when the user has a concrete case. Requires name, email and explicit consent to be contacted (show the privacy notice first and ask for a clear yes). The user's details go to My Spain Visa's client system so the firm can reply.
| Argument | Type | Description |
|---|---|---|
| name* | string | User's name (first name is enough). |
| email* | string | User's email address. The assessment or reply goes there. |
| notes | string | Anything else relevant, in the user's words (max 1,000 characters). |
| purpose* | string | Main reason for moving to Spain. |
| website | string | Leave empty. |
| nationality* | string | User's nationality (passport). |
Passes the user's request to My Spain Visa's immigration lawyers so they contact the user about their case (the firm replies by email; the user can also continue on WhatsApp with the reference given). Use it when the user wants to talk to a lawyer or hire help. Requires name, email and explicit consent to be contacted (show the privacy notice first and ask for a clear yes). Do not quote prices: the firm gives them directly.
| Argument | Type | Description |
|---|---|---|
| name* | string | User's name (first name is enough). |
| email* | string | User's email address. The assessment or reply goes there. |
| phone | string | Optional phone or WhatsApp number with country code. |
| website | string | Leave empty. |
| situation* | string | Short description of the case in the user's words (max 1,500 characters). |
| nationality | string | User's nationality (passport). |
| planned_move | string | |
| visa_interest | string | Visa or topic, for example "non-lucrative visa", "digital nomad visa", "renewal", "family". |
Counts days used and left under the Schengen 90 days in any 180 days rule (Regulation (EU) 2016/399, article 6.1), the same calculation as the My Spain Visa calculator at /90-day-rule-spain/. Give past and planned trips in the Schengen area; it returns days used, days left, whether any day goes over the limit, and the next date the user can enter and for how long. For staying longer than 90 days, the user needs a long-stay visa or residence permit: offer which_spain_visa or personal_visa_assessment.
| Argument | Type | Description |
|---|---|---|
| today | string | Optional reference date YYYY-MM-DD (default: today, UTC). |
| trips* | array | Each stay in the Schengen area. Entry and exit days both count as days of stay. |
{
"type": "object",
"required": [
"trips"
],
"properties": {
"today": {
"type": "string",
"description": "Optional reference date YYYY-MM-DD (default: today, UTC)."
},
"trips": {
"type": "array",
"items": {
"type": "object",
"required": [
"entry",
"exit"
],
"properties": {
"exit": {
"type": "string",
"description": "YYYY-MM-DD"
},
"entry": {
"type": "string",
"description": "YYYY-MM-DD"
}
}
},
"maxItems": 60,
"minItems": 1,
"description": "Each stay in the Schengen area. Entry and exit days both count as days of stay."
}
}
}Requirements, 2026 income figures (with family members), work rights, where to apply, key documents and legal decision deadlines for the main Spanish residence visas: Non-Lucrative Visa (nlv), Digital Nomad Visa (dnv), student visa, and family routes. Figures from the BOE: IPREM 600 euros a month; NLV 2,400 euros a month; DNV about 2,850 euros a month gross (200% of the 2026 minimum wage). If the user has a concrete case, offer personal_visa_assessment afterwards.
| Argument | Type | Description |
|---|---|---|
| visa* | string | Which visa. nlv = Non-Lucrative (passive income, no work); dnv = Digital Nomad (remote work). |
| family_members | integer | Family members joining, to calculate the income needed. |
{
"type": "object",
"required": [
"visa"
],
"properties": {
"visa": {
"enum": [
"nlv",
"dnv",
"student",
"family_of_spanish_citizen",
"family_of_eu_citizen",
"family_reunification"
],
"type": "string",
"description": "Which visa. nlv = Non-Lucrative (passive income, no work); dnv = Digital Nomad (remote work)."
},
"family_members": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Family members joining, to calculate the income needed."
}
}
}Orientative first look at which Spanish visa or residence route fits a person, from a few facts: purpose (retire or live on passive income, remote work, study, join family, local job, business), EU citizenship, partner or family in Spain, income and family members. Returns the likely routes with the 2026 income figure and quick checks. It is not legal advice: for a real answer offer personal_visa_assessment (emailed by the firm's lawyer) or request_consultation.
| Argument | Type | Description |
|---|---|---|
| purpose | string | Main reason for moving to Spain. |
| is_eu_citizen | boolean | True if the user holds an EU, EEA or Swiss passport. |
| family_members | integer | Family members moving with the user (spouse, children), not counting the user. |
| monthly_income_eur | number | Monthly income in euros (for remote work: gross, before tax). |
| currently_in_spain_legally | boolean | True if the user is in Spain now with a legal stay (for example within their 90 Schengen days). |
| partner_or_family_in_spain | string | If the user is joining a partner or family member who is Spanish, another EU citizen, or a non-EU resident of Spain. |
| planned_move |
| string |
| is_eu_citizen | boolean | True if the user holds an EU, EEA or Swiss passport. |
| family_members | integer | Family members moving with the user (spouse, children), not counting the user. |
| state_or_region | string | US state (and county if California) or UK county or region, to find the consulate. |
| consent_to_contact* | boolean | Must be true, and only after the user has been shown this notice: "My Spain Visa (CONSTANTSGROUP S.L.) will use your name, email and the details you share only to send you the assessment and reply about your case. You can withdraw your consent at any time. Privacy policy: https://myspainvisa.com/privacy-policy/" and has explicitly agreed to: "I agree that My Spain Visa may contact me about my case." Never set it on the user's behalf. If the user has not said yes, do not call this tool. |
| monthly_income_eur | number | Monthly income in euros (for remote work: gross, before tax). |
| country_of_residence* | string | Country where the user legally lives now (decides the consulate). |
| currently_in_spain_legally | boolean | True if the user is in Spain now with a legal stay (for example within their 90 Schengen days). |
| partner_or_family_in_spain | string | If the user is joining a partner or family member who is Spanish, another EU citizen, or a non-EU resident of Spain. |
{
"type": "object",
"required": [
"name",
"email",
"consent_to_contact",
"nationality",
"country_of_residence",
"purpose"
],
"properties": {
"name": {
"type": "string",
"description": "User's name (first name is enough)."
},
"email": {
"type": "string",
"description": "User's email address. The assessment or reply goes there."
},
"notes": {
"type": "string",
"description": "Anything else relevant, in the user's words (max 1,000 characters)."
},
"purpose": {
"enum": [
"retire_or_passive_income",
"remote_work",
"study",
"join_family",
"local_job",
"start_business",
"self_employed_spain",
"not_sure"
],
"type": "string",
"description": "Main reason for moving to Spain."
},
"website": {
"type": "string",
"description": "Leave empty."
},
"nationality": {
"type": "string",
"description": "User's nationality (passport)."
},
"planned_move": {
"enum": [
"within_3_months",
"3_to_12_months",
"over_a_year",
"just_exploring"
],
"type": "string"
},
"is_eu_citizen": {
"type": "boolean",
"description": "True if the user holds an EU, EEA or Swiss passport."
},
"family_members": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Family members moving with the user (spouse, children), not counting the user."
},
"state_or_region": {
"type": "string",
"description": "US state (and county if California) or UK county or region, to find the consulate."
},
"consent_to_contact": {
"type": "boolean",
"description": "Must be true, and only after the user has been shown this notice: \"My Spain Visa (CONSTANTSGROUP S.L.) will use your name, email and the details you share only to send you the assessment and reply about your case. You can withdraw your consent at any time. Privacy policy: https://myspainvisa.com/privacy-policy/\" and has explicitly agreed to: \"I agree that My Spain Visa may contact me about my case.\" Never set it on the user's behalf. If the user has not said yes, do not call this tool."
},
"monthly_income_eur": {
"type": "number",
"description": "Monthly income in euros (for remote work: gross, before tax)."
},
"country_of_residence": {
"type": "string",
"description": "Country where the user legally lives now (decides the consulate)."
},
"currently_in_spain_legally": {
"type": "boolean",
"description": "True if the user is in Spain now with a legal stay (for example within their 90 Schengen days)."
},
"partner_or_family_in_spain": {
"enum": [
"none",
"spanish_citizen",
"eu_citizen",
"non_eu_resident"
],
"type": "string",
"description": "If the user is joining a partner or family member who is Spanish, another EU citizen, or a non-EU resident of Spain."
}
}
}| state_or_region | string | US state (and county if California) or UK county or region, to find the consulate. |
| consent_to_contact* | boolean | Must be true, and only after the user has been shown this notice: "My Spain Visa (CONSTANTSGROUP S.L.) will use your name, email and the details you share only to send you the assessment and reply about your case. You can withdraw your consent at any time. Privacy policy: https://myspainvisa.com/privacy-policy/" and has explicitly agreed to: "I agree that My Spain Visa may contact me about my case." Never set it on the user's behalf. If the user has not said yes, do not call this tool. |
| country_of_residence* | string | Country where the user legally lives now (decides the consulate). |
{
"type": "object",
"required": [
"name",
"email",
"consent_to_contact",
"country_of_residence",
"situation"
],
"properties": {
"name": {
"type": "string",
"description": "User's name (first name is enough)."
},
"email": {
"type": "string",
"description": "User's email address. The assessment or reply goes there."
},
"phone": {
"type": "string",
"description": "Optional phone or WhatsApp number with country code."
},
"website": {
"type": "string",
"description": "Leave empty."
},
"situation": {
"type": "string",
"description": "Short description of the case in the user's words (max 1,500 characters)."
},
"nationality": {
"type": "string",
"description": "User's nationality (passport)."
},
"planned_move": {
"enum": [
"within_3_months",
"3_to_12_months",
"over_a_year",
"just_exploring"
],
"type": "string"
},
"visa_interest": {
"type": "string",
"description": "Visa or topic, for example \"non-lucrative visa\", \"digital nomad visa\", \"renewal\", \"family\"."
},
"state_or_region": {
"type": "string",
"description": "US state (and county if California) or UK county or region, to find the consulate."
},
"consent_to_contact": {
"type": "boolean",
"description": "Must be true, and only after the user has been shown this notice: \"My Spain Visa (CONSTANTSGROUP S.L.) will use your name, email and the details you share only to send you the assessment and reply about your case. You can withdraw your consent at any time. Privacy policy: https://myspainvisa.com/privacy-policy/\" and has explicitly agreed to: \"I agree that My Spain Visa may contact me about my case.\" Never set it on the user's behalf. If the user has not said yes, do not call this tool."
},
"country_of_residence": {
"type": "string",
"description": "Country where the user legally lives now (decides the consulate)."
}
}
}{
"type": "object",
"properties": {
"purpose": {
"enum": [
"retire_or_passive_income",
"remote_work",
"study",
"join_family",
"local_job",
"start_business",
"self_employed_spain",
"not_sure"
],
"type": "string",
"description": "Main reason for moving to Spain."
},
"is_eu_citizen": {
"type": "boolean",
"description": "True if the user holds an EU, EEA or Swiss passport."
},
"family_members": {
"type": "integer",
"maximum": 10,
"minimum": 0,
"description": "Family members moving with the user (spouse, children), not counting the user."
},
"monthly_income_eur": {
"type": "number",
"description": "Monthly income in euros (for remote work: gross, before tax)."
},
"currently_in_spain_legally": {
"type": "boolean",
"description": "True if the user is in Spain now with a legal stay (for example within their 90 Schengen days)."
},
"partner_or_family_in_spain": {
"enum": [
"none",
"spanish_citizen",
"eu_citizen",
"non_eu_resident"
],
"type": "string",
"description": "If the user is joining a partner or family member who is Spanish, another EU citizen, or a non-EU resident of Spain."
}
}
}