Skip to content

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

Try itOpenAPI file
The answer for KenedyOpen the JSON
  • 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.
zip
?zip=79701
A Texas ZIP code. Counts inside its Census outline, and the circles around its middle.
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.

Find your town's page

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