---
title: "New commercial projects"
method: GET
path: "/api/v1/projects"
---

# New commercial projects

`GET /api/v1/projects`

## Request

- Base URL: `https://fronterasignal.com`
- URL: `https://fronterasignal.com/api/v1/projects`
- Auth: none required

Use to find who is about to build what in the Rio Grande Valley, Texas (Hidalgo, Cameron, Starr, Willacy counties): commercial projects over $50,000 filed with the state before construction, with owner, design firm, estimated cost, square feet and dates. For suppliers, subcontractors, lenders and brokers chasing new work. Filter by city, county, since, min_cost or owner. Example: "What commercial projects were registered in Hidalgo County since Sept 1, who owns them and how big are they?"

Returns: Commercial projects filed with the state before they build: name, address, owner, design firm, estimated cost, square feet, start and end dates, newest first.

Free sample (a real answer to /api/v1/projects?city=McAllen&limit=5): https://fronterasignal.com/data/v1/samples/projects.json

## Query parameters

- `city` 'Alamo' | 'Alton' | 'Austin' | 'Brownsville' | 'Cameron' | 'Combes' | 'Corpus Christi' | 'Donna' | 'Edcouch' | 'Edinburg' | 'Elsa' | 'Georgetown' | 'Harlingen' | 'Hidalgo' | 'La Feria' | 'La Joya' | 'La Villa' | 'Laguna Heights' | 'Laguna Vista' | 'Leander' | 'Los Fresnos' | 'Lyford' | 'McAllen' | 'Mercedes' | 'Mission' | 'Olmito' | 'Palmhurst' | 'Palmview' | 'Penitas' | 'Pharr' | 'Port Isabel' | 'Port Mansfield' | 'Primera' | 'Progreso' | 'Rancho Viejo' | 'Raymondville' | 'Rio Grande City' | 'Rio Hondo' | 'Roma' | 'San Antonio' | 'San Benito' | 'San Juan' | 'San Perlita' | 'Santa Maria' | 'Santa Rosa' | 'South Padre Island' | 'Starbase' | 'Unknown' | 'Von Ormy' | 'Weslaco'
- `county` 'Hidalgo' | 'Cameron' | 'Starr' | 'Willacy'
- `since` string, date
- `min_cost` number
- `owner` string
- `limit` integer

## Response `200`

Commercial projects filed with the state before they build: name, address, owner, design firm, estimated cost, square feet, start and end dates, newest first.

- object
  - `publisher` string, required
  - `dataset` string, required
  - `query` object, required
    - `limit` integer, required
    - `city` string
    - `county` string
  - `source` string, required
  - `as_of` string, required
  - `cadence` string, required
  - `coverage` object, required
    - `counties` string[], required
    - `registered_since` string, required
  - `matched` integer, required
  - `returned` integer, required
  - `projects` object[], required
    - `id` string, required
    - `name` string, required
    - `facility` string, required
    - `address` string, required
    - `city` string, required
    - `county` string, required
    - `zip` string, required
    - `owner` string, required
    - `design_firm` string, nullable, required
    - `estimated_cost_usd` integer, required
    - `square_feet` integer, required
    - `estimated_start` string, required
    - `estimated_end` string, required
    - `status` string, required
    - `type_of_work` string, required
    - `scope_of_work` string, required
    - `funding` string, required
    - `registered` string, required
    - `source` string, required
  - `note` string, required
  - `disclaimer` string, required

## Other responses

- `400`: Bad or unknown parameters. Free, before any payment; allowed lists the valid ones. unknown_param (400): A query parameter this endpoint does not take. allowed lists the ones it does. repeated_param (400): The same parameter was sent twice. missing_param (400): A required parameter is missing. bad_param (400): A value in the wrong format (date, ISO week, number, length). The message names the parameter. unknown_value (400): A value outside the list we cover (city, county, item, store, type of work, language). allowed lists the valid ones. unknown_week (400): No issue was published for that week in that language. allowed.week lists the ones we have. bad_range (400): from is after to. no_house_number (400): nearby and parcel need a house number and street; an intersection or a street alone has no single place. not_covered (400): The place is outside what the endpoint covers. parcel covers Hidalgo County only for now.
- `402`: Payment required. Free of charge to receive. The PAYMENT-REQUIRED header (base64 JSON, x402 v2) lists price, network, asset and payTo; retry with a PAYMENT-SIGNATURE header.
- `404`: A valid query with nothing to return, or no such endpoint. Free: before any payment, or for nearby and parcel after the payment is verified and never settled. no_results (404): The query is valid but nothing matches it. Free. no_readings (404): Rows exist for that range but every one is dark or no_reading. Free. no_match (404): No owner or design firm contains that name. Free. too_few_projects (404): Fewer than 5 usable filings in every group, so there is no statistic to sell. Free; counts are in the body. not_found (404): No such endpoint or series. address_not_found (404): nearby and parcel: the address could not be placed on the map or matched to a parcel. Found after the payment is verified; the payment is not settled. ambiguous (404): nearby and parcel: the address fits several different places or parcels. Add the direction (N, S, E, W). Not settled. outside_coverage (404): nearby: the address is outside Hidalgo, Cameron, Starr and Willacy counties. Not settled. not_available (404): parcel: this record is not available from this API. Not settled.
- `503`: The payment service is starting (retry after the Retry-After header), payments are off, or a live public-records lookup did not answer in time. Never settled. upstream_unavailable (503): nearby and parcel read public records at request time, and that service did not answer in time. Retry in a minute. Not settled. payment_service_starting (503): The payment service is starting. Retry after the Retry-After header (2 s). Never charged. payments_not_configured (503): Payments are not switched on for this deployment.

---

[API](https://skmtc.dev/fronterasignal/apis/frontera-signal-api.md) · [All operations](https://skmtc.dev/fronterasignal/apis/frontera-signal-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fronterasignal/apis/frontera-signal-api/revisions/39e3fa496b3f?raw)
