Nightstick TWM-30
Full-size handgun weapon light producing 1,200 lumens and 9,379 candela from CR123 cells, with a one hour runtime and ambidextrous switches. Mounts with interchangeable cross-rail inserts and shares the holster footprint of the earlier TWM-850XL. A duty light at a lower price point than the Streamlight and SureFire equivalents.

- Category
- Light
- Manufacturer
- Nightstick
- Weight
- 127 g
- Mounts at
- Underbarrel
Specification
Everything measured
IdentityWhat it is and who made it.
- Category
- Light
- Manufacturer
- Nightstick
- Model number
- TWM-30
- Factory part
- No
Dimensions
- Weight
- 127 g
- Length
- 89 mm
FitmentThe interface it offers and the one it needs, rather than a list of guns it claims to fit.
- Mounts at
- UnderbarrelThe rail beneath the barrel: grips, lights and bipods.
Glock Universal accessory railA machined rail the part clamps onto. Picatinny and Weaver look alike and are not interchangeable in every direction.rail:glock-universal
Picatinny rail (MIL-STD-1913)A machined rail the part clamps onto. Picatinny and Weaver look alike and are not interchangeable in every direction.rail:picatinny
Needs
Any one of these
ProvenanceEvery figure above was taken from one of these pages. The confidence reflects how much of the record came from a page a claim can be checked against.
Confidence in this record
90%
Stockists
Where to buy
Offers link straight to the shop. GunSpec never takes the order.
No shop has listed this part yet
Stock and prices come from the shops themselves. If you sell this part, you can list it and it appears here.
List a partCompatibility
Which firearms take this part
Studio
Every firearm this threads onto, resolved
Not a list the maker typed out: the answer comes from the interface this part needs and the mounts each firearm exposes, so it stays right when either one changes.
- The reverse lookup on every part in the catalogue
- Interface standards, platforms and fit overrides
- The same answers through the API and the MCP server
Requires a signed-in GunSpec account on the Studio plan. The answer is computed per firearm, so it is not part of the public record.
API
The call that returns this record
The same fields, in the same units, from the same endpoint the page reads.
curl --request GET \ --url 'https://api.gunspec.io/v1/attachments/nightstick-twm-30' \ --header 'X-API-Key: your_key'{ "id": "nightstick-twm-30", "name": "Nightstick TWM-30", "category": "light", "manufacturer": { "id": "nightstick", "name": "Nightstick" }, "weight_g": 127, "length_mm": 89, "requires_position": "underbarrel", "provides": [], "requires": [ [ { "id": "rail:glock-universal", "name": "Glock Universal accessory rail", "kind": "rail" }, { "id": "rail:picatinny", "name": "Picatinny rail (MIL-STD-1913)", "kind": "rail" } ] ]}