The Reality Of Mapping NYC Street Gangs
Pretty much everyone who has ever tried to map New York City's gang landscape runs into the same wall within the first week. The data does not exist as a single dataset. It is scattered across decades of police reports, court filings, neighborhood level observations, news archives, and a lot of informal community knowledge that never got digitized. There is no clean API to query. There is no municipal database you can download and start analyzing. What you end up building is a patchwork of sources that rarely agree with each other. I spent roughly fourteen months compiling what most people refer to when they talk about Uncovering The Secret World Of New York Citys Gang Map, working across six boroughs and trying to pin down territorial boundaries that change on a monthly basis depending on housing projects, prison transfers, and shifts in drug trade routes. The biggest problem I hit was not finding data. It was figuring out which data points were still accurate versus which ones were sitting in some 2018 PDF from the NYPD's analytical unit and no longer reflecting current conditions. Street affiliations in Brooklyn and the Bronx shift fast enough that anything older than eighteen months needs heavy verification before you put it on a map.
Uncovering The Secret World Of New York Citys Gang Map
Start by establishing what you are actually mapping. The term gang itself means different things to different agencies and different communities. The NYPD classifies groups under its Gang Bureau using criteria that include color of clothing, specific hand signals, territory, and involvement in criminal activity. Community organizations use looser definitions that focus more on neighborhood presence and family ties. Academic researchers typically apply their own thresholds. You need to pick one framework and be consistent, because mixing classification systems will make your final map internally contradictory within about two blocks. Here is the workflow I ended up using and what it actually looks like day to day: First I pulled historical datasets. The most useful starting point is the NYPD Gang Unit intelligence files that have been released through FOIL requests over the years. These contain group names, known members, primary neighborhoods, and historical territory maps. They are not current, but they give you a baseline. From there I cross referenced with the Department of Corrections inmate gang affiliation records, which update more frequently since they track who gets flagged as a gang member upon intake. Prison transfer patterns also reveal where leadership moves from when someone gets relocated or released.
The next layer is news archive analysis. I ran through the last ten years of Gothamist, NY1, Bronx Times, and Brooklyn Eagle archives using keyword combinations tied to specific groups and neighborhoods. News reports are unreliable for territory mapping on their own because they tend to overstate gang involvement in any incident, but they do give you dates and locations that help you time stamp when a group became active in an area or when they lost control of a block. Community sourcing is where most people either skip ahead or mess up. I spent time in three neighborhood associations in East Harlem and the South Bronx, attending meetings where residents discussed safety concerns. The information shared in those rooms does not appear anywhere in official databases. It also cannot be used without care because neighbors sometimes label any organized youth group as a gang, which inflates your map with groups that do not meet law enforcement definitions. I kept a separate log of community sourced claims and only moved them into the final map after finding at least two independent confirmations, usually from a second resident or a crossing reference in a court document.
Get the Full Details

How To Actually Build The Map
I used QGIS for the final compilation because it handles overlapping polygon data without crashing and lets you version control your layers. The process of converting source material into actual map boundaries took about three weeks for a first complete draft covering all five boroughs, assuming you are working alone and not trying to verify every single entry. If you cut corners on verification, you can get something rough done in four days, but it will contain errors that anyone familiar with the neighborhoods will spot immediately. Territory boundaries are the hardest part. Most sources describe areas in street names rather than coordinates. I converted street level descriptions into polygon outlines by referencing NYC GIS boundary datasets for blocks and census tracts. A description like "from 149th Street to 155th Street between 3rd and 5th Avenues" translates pretty cleanly into a GIS layer. A description like "roughly the eastern part of Mott Haven" does not. I resolved those fuzzy descriptions by looking at multiple sources and taking the intersection of their overlapping area claims. Where three sources agreed on a boundary, I marked it as high confidence. Where only one source mentioned it, I flagged it as tentative and left it off the main layer until I could verify it independently. One edge case that caught me off guard involved the Black P Stones. Their territory description in several NYPD documents extended into parts of Upper Manhattan that community sources and later news reporting suggested were no longer under their active control. Instead of deleting the data, I layered in a timeline attribute so the map shows when a group held an area versus when they lost it. That single change made the map actually useful instead of just being a static snapshot that was wrong half the time.
Another practical issue I ran into was the classification of Hispanic Alliance, which operates across multiple boroughs simultaneously. Mapping them as a single group with scattered dots created a visual mess that implied continuous territory where none existed. I split their representation into borough level nodes with connection lines instead of filled polygons. It is a small design decision but it matters a lot for readability.
Pitfalls That Will Break Your Map
The most common mistake is treating gang presence as binary. A group either controls a block or it does not. The reality is that many areas have overlapping or contested control, sometimes between three or four groups operating on different blocks or at different times of day. A map that shows solid colored polygons for each group will be misleading. Use semi transparent overlays and include a contested zones layer. It adds complexity but it is the only way to represent what is actually happening on the ground. Another pitfall is relying too heavily on social media. Instagram and TikTok have become significant recruitment and signaling platforms for younger members, and some people assume that posting about a group in a certain neighborhood means the group is physically present there. That assumption is wrong more often than not. Members relocate frequently, and posts are often made by people visiting or passing through rather than residents. I learned this the hard way after spending three weeks trying to verify a group presence in a section of Central Brooklyn that turned out to have no sustained activity there. I stopped using social media as primary evidence and relegated it to a supplementary source that needs corroboration from at least one other channel. There is also the problem of group name variations. The same organization goes by different acronyms, full names, and local nicknames across different sources. I built a master name registry early on to catch these variations. Without it, you will count the same group three or four times and create duplicate entries that look like separate organizations on your final output.

The biggest limitation of this entire approach is that it can never be fully accurate. Gang territories are not formal jurisdictions. They are informal understandings enforced through violence and economic pressure, and they shift based on events like prison sentences, releases, and disputes that are not publicly reported. Any map you produce will be incomplete and partially outdated within months of publication. The value is not in precision. It is in giving researchers, journalists, and community organizations a structured starting point that is better than having no spatial framework at all. If you are doing this for academic or institutional purposes, I would recommend pairing your map with a methodology appendix that documents every source you used and your verification process. Reviewers and editors will ask for it, and having the documentation ready saves you weeks of scrambling later. For community organizations, I recommend publishing an updated version at least twice a year and noting which entries are newly verified versus which are carry overs from previous cycles. Transparency about uncertainty builds more trust than presenting a map as if it is definitive. There is no single downloadable file that contains everything you need. The closest thing to a starting dataset is the collection of FOIL released NYPD gang intelligence documents available through the NYPD's public records portal, combined with the NYC Open Data platform's crime incident datasets that you can filter by location and date. From there the work is yours to do.