Goldtex Apartments (315–23 N 12th St)
A property-specific extension of the Philadelphia L&I Open Data Navigation Guide. All facts in this file were verified against the Eclipse ArcGIS feeds and the Carto open-data mirror on May 14, 2026. Field names and endpoint URLs are reproduced verbatim from working queries.
If anything in this file fails to reproduce, the data systems have changed. Re-verify and update.
See also: Main report · Site overview
1. Canonical property identifiers
Use these exact values when constructing queries. Variants will return zero rows.
| Field | Value |
|---|---|
| Address (Eclipse canonical) | 315-23 N 12TH ST |
| ZIP | 19107-1201 |
| Common name | Goldtex Apartments / Goldtex |
| OPA account | 881519440 |
| Parcel ID | 334547 |
| Council district | 1 |
| Census tract | 037600 |
| Owner of record (OPA) | POST GOLDTEX LP |
| Operator / property management | Greystar |
| Rental License # | 602204 |
| Rental License status | Expired (true expiration Feb 28, 2026; Carto mirror may still display Active — Eclipse rules) |
| Dwelling units on license | 163 |
| systemofrecord | ECLIPSE |
Address-resolution traps
- The block has
315-23 N 12TH ST(Goldtex) and325-27 N 12TH ST(Wang Sheng LLC, separate building). There is no315-25. - Queries against
'315 N 12TH ST','315 N 12th Street', or'315-25 N 12TH ST'return zero rows. The official string is exactly315-23 N 12TH ST(hyphen, no commas, uppercaseST). - Prefer
opa_account_num = '881519440'over address-string matching for every L&I query. OPA is the stable join key. Address strings are inconsistent across tables and pages.
2. Authoritative query endpoints
Per the navigation guide §1, Eclipse is authoritative for current state and Carto is authoritative only for bulk historical aggregation and 311 complaints. The Eclipse Property History page at li.phila.gov/property-history/… is a Vue SPA that does not return data to a plain HTTP fetch — it dispatches to the ArcGIS feature services below. Query those directly; that is what the page itself uses.
Base host: https://services.arcgis.com/fLeGjb7u4uXqeF9q/ArcGIS/rest/services/
| Layer | Path | What it returns |
|---|---|---|
| Violations | VIOLATIONS/FeatureServer/0/query | L&I code violations, cases, statuses |
| Permits | PERMITS/FeatureServer/0/query | Building, electrical, mechanical, plumbing, zoning permits |
| Business Licenses | BUSINESS_LICENSES/FeatureServer/0/query | Rental and other business licenses |
| Case Investigations | CASE_INVESTIGATIONS/FeatureServer/0/query | Inspection records tied to cases |
| Appeals | APPEALS/FeatureServer/0/query | L&I appeals filed |
| Building Certs | BUILDING_CERTS/FeatureServer/0/query | Annual certifications (fire alarm, sprinkler, etc.) |
| Building Cert Summary | BUILDING_CERT_SUMMARY/FeatureServer/0/query | Aggregated cert status |
| OPA Properties | opa_properties_public_pde/FeatureServer/0/query | Assessment, owner, deed |
| Building Footprints | LI_BUILDING_FOOTPRINTS/FeatureServer/0/query | Parcel geometry |
All ArcGIS REST queries accept where=<sql>, outFields=*, f=json, resultRecordCount=<n>, resultOffset=<n>. Default page size is ~1000 records; if the response includes "exceededTransferLimit": true, paginate.
- 311 complaints — the only place Philly publishes them. Table:
public_cases_fc. - Historical cross-checks when Eclipse appears truncated.
- Bulk pulls across multiple OPAs where the Carto SQL endpoint is more efficient than ArcGIS REST.
3. VIOLATIONS schema (Eclipse field list)
objectid posse_jobid addressobjectid
parcel_id_num casenumber casecreateddate
casecompleteddate council_district casetype
casestatus caseresponsibility caseprioritydesc
violationnumber violationdate violationcode
violationcodetitle violationstatus violationresolutiondate
violationresolutioncode mostrecentinvestigation publicnov
opa_account_num address unit_type
unit_num zip censustract
opa_owner systemofrecord geocode_x
geocode_y underappeal
Date fields (casecreateddate, casecompleteddate, violationdate, violationresolutiondate, mostrecentinvestigation) are returned as Unix epoch milliseconds. Convert before display.
underappeal is Y or N. Cross-reference an underappeal = 'Y' record against the APPEALS layer.
4. Status semantics
Two status fields exist. They are not redundant.
casestatus (case-level)
IN VIOLATION— at least one violation on this case is unresolved.CLOSED— case has been closed. Inspect individualviolationstatusvalues to learn how it closed.
violationstatus (individual-violation level)
This is the field that distinguishes real compliance from administrative closure:
OPEN— currently unresolved. This is the only value that means “open.”COMPLIED— actual confirmed compliance.CLOSED— administratively closed without a recorded compliance event. Not real compliance.CLOSEDCASE— administrative closure of the parent case. Compliance not confirmed.RESOLVE— resolved via appeal or other path. Compliance not confirmed.ERROR— data-entry anomaly. Not a clean closure.
OPEN values into a single “closed” bucket — per the navigation guide §2.4, that misrepresents the record.
5. Known-truth anchors as of May 14, 2026
If a fresh query disagrees with the values below, either the data has changed or the query is wrong. Re-verify before propagating.
| Metric | Value |
|---|---|
| Total violation records on file (all time) | 124 |
Open (violationstatus = 'OPEN') | 16 |
Complied (violationstatus = 'COMPLIED') | 102 |
| Administrative closures (CLOSED / CLOSEDCASE / RESOLVE / ERROR, aggregate) | 6 |
Active cases (casestatus = 'IN VIOLATION') | 6 |
| First record on file | 2007-03-08 |
| Most recent violation | 2026-04-27 |
Active cases — 6 cases, 16 violations
| Case | Filed | Count | Codes / Notes |
|---|---|---|---|
CF-2026-041843 |
2026-04-27 | 6 | Fire code F-series: command center storage, waste cans, hazard ID signs, smoke control records, ITM, records |
CF-2026-038488 |
2026-04-21 | 1 | PM15-603.1 mechanical equipment |
CF-2026-012614 |
2026-02-11 | 3 | PM15-109.1 Unfit Structure + PM15-602.3 + PM15-603.1 |
CF-2026-012633 |
2026-02-11 | 3 | PM15-109.1 Unfit Structure + PM15-602.2 + PM15-603.1 |
CF-2026-011056 |
2026-02-06 | 2 | PM15-603.1, PM15-602.3 |
CF-2026-010311 |
2026-02-04 | 1 | PM15-603.1 |
PM15-109.1 Unfit Structure citations (CF-2026-012614, CF-2026-012633) are the load-bearing finding for any habitability or non-renewal argument. Both were issued the same day. As of this writing, neither appears on the rendered Property History page at li.phila.gov for this address — they are present in both the Eclipse ArcGIS feed and the Carto mirror, but the Property History UI truncates. See the navigation guide §2.2 for the truncation pattern.
6. Working queries
All queries below were executed successfully against live endpoints on May 14, 2026. Substitute the OPA account number to retarget.
6.1 Open violations only — Eclipse direct (authoritative)
https://services.arcgis.com/fLeGjb7u4uXqeF9q/ArcGIS/rest/services/VIOLATIONS/FeatureServer/0/query?where=opa_account_num%3D%27881519440%27+AND+violationstatus%3D%27OPEN%27&outFields=*&f=json
Expected: 16 features as of 2026-05-14.
6.2 Full violation history — Eclipse direct
https://services.arcgis.com/fLeGjb7u4uXqeF9q/ArcGIS/rest/services/VIOLATIONS/FeatureServer/0/query?where=opa_account_num%3D%27881519440%27&outFields=*&f=json&resultRecordCount=2000
Expected: 124 features as of 2026-05-14.
6.3 Carto cross-check (mirror; not authoritative for current state)
https://phl.carto.com/api/v2/sql?q=SELECT+*+FROM+violations+WHERE+opa_account_num+%3D+%27881519440%27&format=json
Use this only to confirm parity for historical records, never for current status. The Carto mirror can lag Eclipse.
6.4 Rental license — Eclipse direct
https://services.arcgis.com/fLeGjb7u4uXqeF9q/ArcGIS/rest/services/BUSINESS_LICENSES/FeatureServer/0/query?where=opa_account_num%3D%27881519440%27&outFields=*&f=json
Expected: rental license #602204 with status reflecting the Feb 28, 2026 expiration. If Carto’s mirror displays this license as Active, Eclipse is authoritative — the license is expired.
6.5 Permits
https://services.arcgis.com/fLeGjb7u4uXqeF9q/ArcGIS/rest/services/PERMITS/FeatureServer/0/query?where=opa_account_num%3D%27881519440%27&outFields=*&f=json&resultRecordCount=2000
6.6 Appeals
https://services.arcgis.com/fLeGjb7u4uXqeF9q/ArcGIS/rest/services/APPEALS/FeatureServer/0/query?where=opa_account_num%3D%27881519440%27&outFields=*&f=json
6.7 Case investigations (inspection events)
https://services.arcgis.com/fLeGjb7u4uXqeF9q/ArcGIS/rest/services/CASE_INVESTIGATIONS/FeatureServer/0/query?where=opa_account_num%3D%27881519440%27&outFields=*&f=json&resultRecordCount=2000
6.8 311 complaints — Carto only (Eclipse does not expose these)
https://phl.carto.com/api/v2/sql?q=SELECT+requested_datetime%2C+service_name%2C+status%2C+description%2C+address+FROM+public_cases_fc+WHERE+upper(address)+LIKE+%27%25315-23+N+12TH%25%27+OR+upper(address)+LIKE+%27%25315+N+12TH%25%27+ORDER+BY+requested_datetime+DESC&format=json
Address-string match is required here because public_cases_fc does not carry opa_account_num for every record. Vary the LIKE pattern as needed.
6.9 OPA ownership and assessment
https://services.arcgis.com/fLeGjb7u4uXqeF9q/ArcGIS/rest/services/opa_properties_public_pde/FeatureServer/0/query?where=parcel_number%3D%27881519440%27&outFields=*&f=json
The OPA layer uses its own field naming (parcel_number, not opa_account_num). Confirm the field list from /FeatureServer/0?f=json before composing variants.
7. What is NOT retrievable from public data
Document these absences explicitly; do not let them pass without comment.
- Inspector identity. No name, badge number, or unit appears in any layer. FOIA only.
- Inspector notes and photos. FOIA only.
- Internal L&I, PPD, or counsel correspondence. FOIA only.
- Tenant identity on 311 complaints. Anonymized in the public export. FOIA only.
- Whether a physical re-inspection actually occurred.
COMPLIEDis a recorded status; it is not by itself evidence of a site visit.
The L&I Open Records Officer handles RTKL requests under 65 P.S. § 67.101 et seq. Standard response window: 5 business days, extendable to 30. Denials appealable to the Office of Open Records.
8. Cross-reference protocol for any Goldtex claim
Before propagating a numeric or status claim about Goldtex (open-violation count, license status, ownership, 311 volume), execute these steps anchored to OPA 881519440:
- Eclipse VIOLATIONS by OPA → current open count (§6.1).
- Eclipse BUSINESS_LICENSES by OPA → current license status (§6.4).
- Carto
public_cases_fcby address → 311 history (§6.8). - OPA layer by parcel → ownership confirmation (§6.9).
- Compare against the anchor values in §5 above. If anything diverges, the systems have updated; refresh the anchors and note the date of the new pull.
Always record the date and time of the pull. Never report a Carto status field as current state without an Eclipse confirmation.
Do not contact, threaten, harass, or interfere with any person named or referenced on this site. This record is published for documentation, transparency, and lawful review only.