$3,894/mo*
2 Beds
2 Baths
Available: Now
The Landing Vinnin Square View All Listings
330 Paradise Rd., Swampscott, MA 01907
* Rent prices for units in luxury buildings change frequently subject to floor level, view, floor plan, and market conditions. Call for latest pricing.
Reduced First Month Deposit
Reduced Last Month Deposit
Reduced Security Deposit
Amenities & Apartment Information
Building
Luxury Apartment
Unit
Pet Friendly
Living Room
Dishwasher
Microwave
Electric Stove
Refrigerator
Property Description
Transportation Options
331 Paradise Rd Bus Stop 0.1 mi (3 min away)
Paradise Rd @ Longwood Dr Bus Stop 0.1 mi (2 min away)
Paradise Rd @ Lou Rudolph Way Bus Stop 0.1 mi (3 min away)
Paradise Rd opp Longwood Dr Bus Stop 0.1 mi (3 min away)
Paradise Rd @ Parsons Dr Bus Stop 0.2 mi (4 min away)
Nearby Places
Civil War Monument
Lime Rickey's
Vinnin Liquors
Show more
Price Comparison
This apartment is above the average price of $2,500 for 2 bedroom apartments in Swampscott. Rent prices tend to be higher for luxury apartments because of the wide range of amenities they provide. These buildings are also often conveniently located near transportation, shopping, restaurants, and green spaces. This may be your dream apartment. Contact us today before this great unit is rented!
Average Rent Prices for 2 Bedroom Apartments in Swampscott
');}else{$("#"+chart_id).append('
');}if(value.multiaxis_combined === true){var ctx = document.getElementById(tabId).getContext("2d");var chartDataMultiAxis = value.multiaxis;const correctedMultiaxis = value.multiaxis.replace(/\n/g, "").replace(/\t/g, "").replace(/\/\/.*/g, "").replace(/,\s*}/g, "}").replace(/,\s*]/g, "]");const multiaxisObject = eval("(" + value.multiaxis + ")");var mmObj = {type: multiaxisObject.type,data: multiaxisObject.data,options: multiaxisObject.options};let abcM;if (value.annotation) {try {abcM = JSON.parse(value.annotation);} catch (error) {// alert("Error parsing annotation JSON:" + value.annotation);}}if (value.annotation) {abcM = JSON.parse(value.annotation);}// Add the parsed annotations to the chart optionsif (abcM) {if (!mmObj.options) {mmObj.options = {};}mmObj.options.annotation = {drawTime: abcM.annotation.drawTime,events: abcM.annotation.events,annotations: abcM.annotation.annotations};}const myChart = new Chart(ctx, mmObj);if ($("#" + ctabId + " table").length === 0) {if(value.wcag_table!=undefined){const tableHtml = genrateJsonTableMultiAxis(value.wcag_table);$("#" + ctabId).append(tableHtml);}}}else{var ctx = document.getElementById(tabId).getContext("2d");if(value.data_label!=undefined){var chartData = parseChartData(value);new Chart(ctx, chartData);}if ($("#" + ctabId + " table").length === 0) {// Add table generation code under chart starts from here const tableHtml = generateTableFromJSON(value.wcag_table);$("#" + ctabId).append(tableHtml);}}}else{$.each(globalJsonData, function(key, value) {var randomInt = getRandomInt(1, 1000);const tabId = "charts_tabs-" + key+"_"+randomInt;const ctabId = "charts_tab-" + key+"_"+randomInt;$(".err_chart_"+chart_number).append(value.annotation_error);const parentDiv = $("#"+chart_id);const childDiv = $("#" + chart_id).parent().find(".charts_tabs");const ulElement = childDiv.find("#mylist");ulElement.append('
');childDiv.append('
');var new_name = "charts_tabs-"+key+"_"+randomInt;;var ctx = document.getElementById(new_name).getContext("2d");var chartData = parseChartData(value);new Chart(ctx, chartData);counter++;if ($("#" + ctabId + " table").length === 0) {// Add table generation code under chart starts from here const tableHtml = generateTableFromJSON(value.wcag_table);$("#" + ctabId).append(tableHtml);}});}jQuery("#" + chart_id).parent().find(".charts_tabs").tabs();});} function createChart() {}function getRandomInt(min, max) {min = Math.ceil(min);max = Math.floor(max);return Math.floor(Math.random() * (max - min + 1)) + min; }function genrateJsonTableMultiAxis(jsonData){let divClass = jsonData.show_table_class;let tableData = jsonData.table;// Create the table with the specified classlet html = "
" + header + " | ";});html += "
---|
" + cell + " | ";});html += "
";return html;}function generateTableFromJSON(jsonData) {if (!jsonData) {return "";}const wcagTable = jsonData;const heading = wcagTable.heading;const rows = wcagTable.rows;const divClass = wcagTable.div_class || "";let html = "
" + heading.date + " | ";html += "" + heading.value + " | ";if (heading.compare_value) {html += "" + heading.compare_value + " | ";}html += "
---|---|---|
" + row.date + " | ";html += "" + row.value + " | ";if (row.compare_value) {html += "" + row.compare_value + " | ";}html += "
";return html;}function parseChartData(value) {const labels = JSON.parse(value.data_label.slice(7));const data = JSON.parse(value.data);const compareLocationData = JSON.parse(value.compare_location_data);const symbol = value.symbol;const percent = value.percent;const datasets = [ {label: value.dataset_compare_location_label,data: data,borderWidth: value.chart_border_width,backgroundColor: value.chart_plain_bgcolor,borderColor: value.chart_plain_border_color,pointBackgroundColor: value.chart_plain_pointbgcolor,pointBorderColor: value.chart_tab_point_border_color,pointStyle: "rectRounded",pointRadius: value.chart_plain_point_radius,pointHitRadius: value.chart_plain_point_hit_radius,pointHoverRadius: value.chart_plain_point_hover_radius,pointHoverBorderWidth: value.chart_plain_point_hover_border_width,cubicInterpolationMode: "default",spanGaps: true, },]; if (value.compare_location_label) { datasets.push({label: value.compare_location_label,data: compareLocationData,borderWidth: value.chart_comparison_border_width,fill:value.chart_comparison_fill_flag,backgroundColor: value.chart_comparison_bgcolor,borderColor: value.chart_comparison_border_color,pointRadius: value.chart_comparison_point_radius,pointHitRadius: value.chart_comparison_point_hit_radius,pointHoverRadius: value.chart_comparison_point_hover_radius,pointHoverBorderWidth: value.chart_comparison_point_hover_border_width,cubicInterpolationMode: "default",spanGaps: true, });} const chartData = { labels: labels, datasets: datasets,};let abc;if (value.annotation) {try { abc = JSON.parse(value.annotation);} catch (error) {// alert("Error parsing annotation JSON:"+ value.annotation);} }if (value.annotation) {abc = JSON.parse(value.annotation);}if(value.yaxis_label_labelString!=null){var y_label = value.yaxis_label_labelString;}else{var y_label = "";}const chartOptions = { maintainAspectRatio: false, scales: {yAxes: [ {ticks: { autoSkip: true, autoSkipPadding: 90, reverse: false, callback: function (value, index, values) {return symbol + value + percent; },},scaleLabel: { display: true, fontSize: 14, labelString: y_label,}, },],xAxes: [ {ticks: { autoSkip: true, autoSkipPadding: 5,}, },], }, legend: {display: value.xAxes_legend_display === "true",labels: { fontSize: 14,}, }, tooltips: {enabled: true,mode: "single",callbacks: { label: function (tooltipItems, data) {return symbol + tooltipItems.yLabel + percent; },}, }, // Add any other chart options here};if (abc && abc.annotation) {chartOptions.annotation = abc.annotation; }var options = { type: "line", data: chartData, options: chartOptions,};return options; } function fixInvalidCommas(dataString) {return dataString.replace(/,,/g, ",null,"); } function findInvalidCharacter(jsonString) {let position = -1;try { JSON.parse(jsonString);} catch (error) { const match = error.message.match(/position (\d+)/); if (match) {position = parseInt(match[1], 10); }}return position; }function isElementVisibleAPI(el) {const rect = el.getBoundingClientRect();const windowHeight = window.innerHeight || document.documentElement.clientHeight;const windowWidth = window.innerWidth || document.documentElement.clientWidth;return (rect.top < windowHeight &&rect.bottom > 0 &&rect.left < windowWidth &&rect.right > 0);}});