Free · No key · JSON and MCP
Texas wells near a place, as data
Ask for a Texas town, county, ZIP code or point and get back the oil and gas wells around it by status, the nearest wells, the drilling permits of the last 12 months, the date of the data and a link to the place's page. Built for chat assistants, newsrooms and anyone's scripts, from Railroad Commission of Texas records. It counts the state's records as filed.
GET https://royaltyclerk.com/api/public/wells-near?town=Kenedy
- 18within 1 mile
- 161within 3 miles
- 2,160within 10 miles
- Permits, 12 months
- 47 within 10 miles
- Nearest well
- 0.39 miles, producing
producingidlepluggedRailroad Commission files loaded November 15, 2026.
One place per request
Ask for a place
Name exactly one. Any other parameter is refused, so each place has one address and one cached answer.
- town
- ?town=Midland
- A Texas town by name (Karnes City) or its page name (karnes-city-tx). The circles are drawn around the town's point.
- county
- ?county=Karnes
- A county by name or FIPS code (48255). Counts the wells inside the county line; no circles.
- lat, lon
- ?lat=31.99&lon=-102.08
- A point in decimal degrees, rounded to two decimals (about a kilometre) before anything is read.
No street addresses: ?address= gets a 400 that says so (no_addresses). A point is rounded before anything is read, so lat=31.99735 and lat=31.99 are the same question.
JSON, the same for everyone
What comes back
The live answer for Kenedy, shortened here to two wells and two permits; the service sends 10 of each.
{
"place": {
"type": "town",
"query": "town=kenedy-tx",
"name": "Kenedy",
"county": "Karnes County",
"lat": 28.8192,
"lon": -97.8486
},
"rings": [
{
"miles": 1,
"wells": 18,
"producing": 11,
"idle": 7,
"plugged": 0
},
{
"miles": 3,
"wells": 161,
"producing": 109,
"idle": 51,
"plugged": 1
},
{
"miles": 10,
"wells": 2160,
"producing": 1804,
"idle": 335,
"plugged": 21
}
],
"area": null,
"nearest": [
{
"api": "42-255-33643",
"status": "producing",
"operator": "Repsol Oil & Gas USA, LLC",
"lease": "KENEDY CORPORATION GAS UNIT 1(A)",
"miles": 0.39,
"lat": 28.82459403,
"lon": -97.8469135
},
{
"api": "42-255-33611",
"status": "producing",
"operator": "Repsol Oil & Gas USA, LLC",
"lease": "KENEDY CORPORATION GAS UNIT 1",
"miles": 0.59,
"lat": 28.82770049,
"lon": -97.84892643
}
],
"permits": {
"months": 12,
"miles": 10,
"count": 47,
"newest": [
{
"api": "42-255-38486",
"issued": "2026-10-30",
"operator": "Marathon Oil Ef LLC",
"lease": "RODRIGUEZ-MEDINA SA A",
"type": "new drill",
"horizontal": true,
"miles": 9.87
},
{
"api": "42-255-38488",
"issued": "2026-10-27",
"operator": "Marathon Oil Ef LLC",
"lease": "RODRIGUEZ-MEDINA SA C",
"type": "new drill",
"horizontal": true,
"miles": 9.86
}
]
},
"data": {
"date": "2026-11-15",
"newestPermit": "2026-11-13",
"source": "Railroad Commission of Texas",
"sourceUrl": "https://www.rrc.texas.gov/resource-center/research/data-sets-available-for-download/"
},
"credit": "Source: Railroad Commission of Texas · Map: Royalty Clerk",
"links": {
"page": "https://royaltyclerk.com/texas/towns/kenedy-tx",
"map": "https://royaltyclerk.com/texas-well-watch/karnes-county-tx#map=28.81915,-97.84861,11.00,t",
"docs": "https://royaltyclerk.com/wells-near-api"
}
}- place
- What was asked for, as the service read it: its type, the normalised query, a name, the county, and the point the circles are drawn around.
- rings
- Located wells within 1, 3, 10 miles of the point: producing, idle (any other well not plugged) and plugged. Each circle holds the smaller ones.
- area
- For a county or a ZIP code: the wells inside its line by status, and the drilling permits there in the last 12 months.
- nearest
- The 10 located wells nearest the point: API number, status, operator, lease, miles away and the well's own point.
- permits
- Drilling permits issued in the last 12 months within 10 miles (in the county, for a county): how many, and the newest 10.
- data
- The day the newest Railroad Commission well or permit file behind the figures was loaded, the newest permit on file, and the source.
- credit
- The line to show with the figures:
Source: Railroad Commission of Texas · Map: Royalty Clerk
. - links
- The Royalty Clerk page for the place (link the credit line to it), the live well map opened on the place, and this page.
Small, cached, limited
Limits and errors
- 60answers an hour per client address; past that, 429 with Retry-After.
- 10wells and 10 permits at most in an answer, always the same shape.
- 6 han answer is kept here and at the edge:
public, max-age=3600, s-maxage=21600, stale-while-revalidate=86400
Error answers
- 400no_placeName one Texas place: town, county, zip, or lat and lon together.
- 400one_placeName only one place: town, county, zip, or lat and lon together.
- 400no_addressesThis service does not look up street addresses. Send a town, a county, a ZIP code or a point (lat and lon, two decimals).
- 400unknown_parameterOnly these parameters are read: town, county, zip, lat, lon.
- 400bad_towntown is a Texas town's name or its page name, such as Midland or midland-tx.
- 400bad_countycounty is a Texas county's name or its 5-digit FIPS code, such as Karnes or 48255.
- 400bad_zipzip is a 5-digit Texas ZIP code (75001 to 79999, or 885xx).
- 400bad_pointlat and lon are decimal degrees, such as lat=31.99&lon=-102.08.
- 400outside_texasThat point is outside Texas.
- 404not_foundNo such town or ZIP code on file.
- 429limitedMore than 60 answers in an hour from one address. Retry-After says when to ask again.
- 503busyMany new places asked at once. Retry-After: 60.
- 503unavailableThe figures cannot be read just now. Nothing is cached.
Model Context Protocol
For chat assistants
The same answer is the tool wells_near of an MCP server at https://royaltyclerk.com/api/public/mcp, over Streamable HTTP. It follows revision 2026-07-28 (server/discover, tools/list, tools/call, no sessions) and still answers clients of 2025-11-25, 2025-06-18, 2025-03-26 that open with initialize.
POST https://royaltyclerk.com/api/public/mcp
Content-Type: application/json
Accept: application/json, text/event-stream
MCP-Protocol-Version: 2026-07-28
Mcp-Method: tools/call
Mcp-Name: wells_near
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "wells_near",
"arguments": { "zip": "79701" },
"_meta": {
"io.modelcontextprotocol/protocolVersion": "2026-07-28",
"io.modelcontextprotocol/clientCapabilities": {},
"io.modelcontextprotocol/clientInfo": { "name": "your-assistant", "version": "1.0" }
}
}
}The result carries the answer twice: as structuredContent, checked against the tool's output schema, and as text, a few plain sentences followed by the JSON. A place the service cannot read comes back as a tool error (isError: true) with the same words as the 400 above, so an assistant can correct itself.
A browser page on another site is refused (403); assistants and servers send no Origin and pass. GET answers 405: there is no stream to open.
Terms
Show the credit line
Quote the figures anywhere, free. Wherever they appear, show this line with a link to the place's page (links.page), as the terms ask for quoted figures. Asking for place after place to copy the data in bulk is not allowed.
Source: Railroad Commission of Texas · Map: Royalty Clerk
The figures are the state's public records as we hold them. They say where wells are, not who owns the minerals under them: for that, search the county rolls on the search page.
FAQ
Questions people ask
Why does it not take a street address?
A home address is a private fact, and the address of a request sits in logs along the way. So the service takes a town, a county, a ZIP code or a point rounded to about a kilometre, and nothing finer. The town and county pages answer an address privately, in a box whose answer is never part of a link.
How fresh are the figures?
As fresh as the Railroad Commission's files we load: the well layer and the drilling permits. Each answer says the day of the newest load behind it, and is kept up to six hours here and at the edge.
Does it estimate anything?
No. It counts and lists the state's records as filed. The MCP endpoint hands the same answer to an assistant you use; nothing on our side writes or guesses.
Sources
- Railroad Commission of Texas, well layer and drilling permit fileswww.rrc.texas.gov/resource-center/research/data-sets-available-for-download/ · loaded November 15, 2026; figures kept six hours
- Model Context Protocol specification, revision 2026-07-28modelcontextprotocol.io/specification/2026-07-28 · read November 14, 2026
- OpenAPI Specification 3.1.0spec.openapis.org/oas/v3.1.0 · read November 14, 2026