# llGetParcelDetails

*LSL function*

```lsl
list list llGetParcelDetails(vector pos, list params);
```

- `vector pos`: Position vector in region coordinates (only the X and Y components are used).
- `list params`: A list of PARCEL_DETAILS_* flags specifying the attributes to retrieve.

- Returns: `list`
- Energy: 10

Both `x` and `y` components of **pos** are clamped to the range \[0.0, 256.0\], the `z` component is ignored.

Returns a [list](https://wiki.secondlife.com/wiki/list) that is the parcel details specified in **params** (in the same order) for the parcel at **pos**.

```lsl title="How to use" frame="terminal"
list result = llGetParcelDetails(ZERO_VECTOR, []);
```

## Specification

Constant group [ParcelDetailsParam](/constants/groups/ParcelDetailsParam/):

```lsl
PARCEL_DETAILS_AREA = 4
PARCEL_DETAILS_DESC = 1
PARCEL_DETAILS_FLAGS = 12
PARCEL_DETAILS_GROUP = 3
PARCEL_DETAILS_ID = 5
PARCEL_DETAILS_LANDING_LOOKAT = 10
PARCEL_DETAILS_LANDING_POINT = 9
PARCEL_DETAILS_NAME = 0
PARCEL_DETAILS_OWNER = 2
PARCEL_DETAILS_PRIM_CAPACITY = 7
PARCEL_DETAILS_PRIM_USED = 8
PARCEL_DETAILS_SCRIPT_DANGER = 13
PARCEL_DETAILS_SEE_AVATARS = 6
PARCEL_DETAILS_TP_ROUTING = 11
```

<table>
	<tr>
		<th>Flag</th>
		<th></th>
		<th>Meaning</th>
		<th>Max Length</th>
		<th>Return</th>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_NAME](/constants/PARCEL_DETAILS_NAME/)</td>
		<td>0</td>
		<td>The name of the parcel.</td>
		<td>63 Characters</td>
		<td>[string](https://wiki.secondlife.com/wiki/string)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_DESC](/constants/PARCEL_DETAILS_DESC/)</td>
		<td>1</td>
		<td>The description of the parcel.</td>
		<td>127 Characters</td>
		<td>[string](https://wiki.secondlife.com/wiki/string)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_OWNER](/constants/PARCEL_DETAILS_OWNER/)</td>
		<td>2</td>
		<td>The parcel [owner](https://wiki.secondlife.com/wiki/Category:LSL_Owner)'s key.</td>
		<td>(36 Characters)</td>
		<td>[key](https://wiki.secondlife.com/wiki/key)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_GROUP](/constants/PARCEL_DETAILS_GROUP/)</td>
		<td>3</td>
		<td>The parcel [group](https://wiki.secondlife.com/wiki/Category:LSL_Group)'s key.</td>
		<td>(36 Characters)</td>
		<td>[key](https://wiki.secondlife.com/wiki/key)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_AREA](/constants/PARCEL_DETAILS_AREA/)</td>
		<td>4</td>
		<td>The parcel's area, in sqm.</td>
		<td>(5 Characters)</td>
		<td>[integer](https://wiki.secondlife.com/wiki/integer)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_ID](/constants/PARCEL_DETAILS_ID/)</td>
		<td>5</td>
		<td>The parcel's key.</td>
		<td>(36 Characters)</td>
		<td>[key](https://wiki.secondlife.com/wiki/key)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_SEE_AVATARS](/constants/PARCEL_DETAILS_SEE_AVATARS/)</td>
		<td>6</td>
		<td>The parcel's avatar visibility setting[^wiki-4df555]</td>
		<td>(1 character)</td>
		<td>[integer](https://wiki.secondlife.com/wiki/integer) - boolean</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_PRIM_CAPACITY](/constants/PARCEL_DETAILS_PRIM_CAPACITY/)</td>
		<td>7</td>
		<td>The total prim capacity on this and all same-owner parcels, sim-wide. See [llGetParcelMaxPrims](/functions/llGetParcelMaxPrims/) for same-parcel-only and/or sim-wide reporting.</td>
		<td></td>
		<td>[integer](https://wiki.secondlife.com/wiki/integer)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_PRIM_USED](/constants/PARCEL_DETAILS_PRIM_USED/)</td>
		<td>8</td>
		<td>The total prim usage on this and all same-owner parcels, sim-wide. See [llGetParcelPrimCount](/functions/llGetParcelPrimCount/) to get prim count by parcel owner, group, temp, etc. for same-parcel-only and/or sim-wide reporting.</td>
		<td></td>
		<td>[integer](https://wiki.secondlife.com/wiki/integer)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_LANDING_POINT](/constants/PARCEL_DETAILS_LANDING_POINT/)</td>
		<td>9</td>
		<td>Landing point set for this parcel, if any.</td>
		<td></td>
		<td>[vector](https://wiki.secondlife.com/wiki/vector)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_LANDING_LOOKAT](/constants/PARCEL_DETAILS_LANDING_LOOKAT/)</td>
		<td>10</td>
		<td>Look at vector set for the landing point on this parcel, if any.</td>
		<td></td>
		<td>[vector](https://wiki.secondlife.com/wiki/vector)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_TP_ROUTING](/constants/PARCEL_DETAILS_TP_ROUTING/)</td>
		<td>11</td>
		<td>

			Teleport routing for this parcel.

			- 0 = [TP_ROUTING_BLOCKED](/constants/TP_ROUTING_BLOCKED/)
			- 1 = [TP_ROUTING_LANDINGP](/constants/TP_ROUTING_LANDINGP/)
			- 2 = [TP_ROUTING_FREE](/constants/TP_ROUTING_FREE/)

			Note that routing rules are only enforced if the landing point is set.

		</td>
		<td></td>
		<td>[integer](https://wiki.secondlife.com/wiki/integer)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_FLAGS](/constants/PARCEL_DETAILS_FLAGS/)</td>
		<td>12</td>
		<td>Parcel flags set for this parcel. See [llGetParcelFlags](/functions/llGetParcelFlags/) for a listing of the flags and their meaning.</td>
		<td></td>
		<td>[integer](https://wiki.secondlife.com/wiki/integer)</td>
	</tr>
	<tr>
		<td>[PARCEL_DETAILS_SCRIPT_DANGER](/constants/PARCEL_DETAILS_SCRIPT_DANGER/)</td>
		<td>13</td>
		<td>Is the script in danger in the indicated parcel. See [llScriptDanger](/functions/llScriptDanger/) for a discussion of script danger.</td>
		<td></td>
		<td>[integer](https://wiki.secondlife.com/wiki/integer) - boolean</td>
	</tr>
	<tr>
		<td colspan="5">Max Lengths in parentheses represent how many characters required when it is [typecast](https://wiki.secondlife.com/wiki/typecast) to a string.</td>
		<td></td>
		<td></td>
		<td></td>
		<td></td>
	</tr>
</table>

[^wiki-4df555]: The parcel avatar visibility setting is used to hide avatars, their chat, and objects they sit on when they are in other parcels.

## Caveats

- This cannot be used to get the parcel details of parcels in neighboring regions.

## Examples

<details open>
<summary>A very simple example to return the parcel name and description for the current parcel.</summary>

```lsl
default
{
    touch_start(integer total_number)
    {
        list details = llGetParcelDetails(llGetPos(), [PARCEL_DETAILS_NAME, PARCEL_DETAILS_DESC]);

        llSay(0, "Local Parcel Name:" + llList2String(details ,0));
        llSay(0, "Local Parcel Desc:" + llList2String(details ,1));
    }
}
```

</details>

## Known issues

From the issue templates included by the wiki article:

- SVC-4413 (fs): Please add a way to get the parcel "landing point" and "teleport routing" to llGetParcelDetails

## See also

### Functions

- [llGetParcelFlags](/functions/llGetParcelFlags/)
- [llGetRegionFlags](/functions/llGetRegionFlags/)
- [llGetRegionName](/functions/llGetRegionName/)
- [llRequestSimulatorData](/functions/llRequestSimulatorData/)
- [llGetObjectDetails](/functions/llGetObjectDetails/)

---

*Source: [LlGetParcelDetails](https://wiki.secondlife.com/wiki/LlGetParcelDetails) on the Second Life Wiki. Content from the Second Life Wiki articles LlGetParcelDetails (revision 1210621, 2022-04-14), Template:LSL Constants/Parcel Details (revision 1218566, 2025-12-24) and Template:Issues/SVC-4413 (revision 1168575, 2012-06-07), CC BY-SA 3.0.*

---

From lsl.dev: https://lsl.dev/functions/llGetParcelDetails/
