Account with API access
Use an EnergyNetWatch account with API access enabled. Billing, keys, usage, and support all stay tied to that account.
Start with prepaid oil and gas API credits, create a key, and run a health check before connecting drilling permit, well, operator, or production records to your software. API-only access does not require a Premium app subscription. Check endpoint coverage and unit costs before larger exports.
All public API requests use the EnergyNetWatch API domain.
https://api.energynetwatch.comSend an API key with every protected request. Keep keys in server-side environment variables or a managed secret store.
X-API-Key: $ENERGYNETWATCH_API_KEYexport ENERGYNETWATCH_API_KEY="enw_live_xxxxxxxxxxxxx"Already have an account? Sign in to API Access. Need custom delivery, licensing, or help choosing a dataset? Request integration help. Standard prepaid access does not require a sales call. Account creation alone does not unlock paid data.
Start with the health check, then run a small operator, permit, or data-availability request. Log the X-Request-ID header for troubleshooting, but never log full API keys.
https://api.energynetwatch.comENERGYNETWATCH_API_KEY=enw_live_xxxxxxxxxxxxxX-API-Key: $ENERGYNETWATCH_API_KEYcurl -i https://api.energynetwatch.com/api/public/health \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"curl -i "https://api.energynetwatch.com/api/public/operators?search=Civitas&limit=5" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"curl -i https://api.energynetwatch.com/api/public/health
# Expected: HTTP 401Use an EnergyNetWatch account with API access enabled. Billing, keys, usage, and support all stay tied to that account.
Store the key server-side. Do not expose API keys in browsers, public repositories, client-side applications, or shared scripts.
Requests count against your daily limit and unit balance. Rate-limit headers show when to slow down or retry.
Use the schema to inspect endpoints, generate client code, and keep request and response handling predictable.
Access is scoped by account and endpoint family. State coverage and freshness vary by route, so use the coverage page and OpenAPI schema before building production jobs.
Your software, dashboard, CRM, enrichment job, report workflow, or backend service needs to make direct endpoint requests.
An AI assistant, agent, or MCP-compatible client needs to query EnergyNetWatch data through a natural-language workflow.
curl -i https://api.energynetwatch.com/api/public/health \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"Expected: HTTP 200, a request id, rate-limit headers, and current usage details.
curl -i https://api.energynetwatch.com/api/public/healthExpected: HTTP 401. Protected API requests should not work without a key.
curl -i "https://api.energynetwatch.com/api/public/operators?search=Civitas&limit=5" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"Expected: HTTP 200 and paged operator records when operator access is enabled.
curl -i "https://api.energynetwatch.com/api/public/reports/tx-nm-signal-summary" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"Expected: HTTP 200, TX/NM signal totals, and notes for interpreting the source records.
curl -i "https://api.energynetwatch.com/api/public/regulatory/tx/uic/wells?operatorNo=628658&limit=5" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"Expected: HTTP 200 and at most five UIC profiles. An exact UIC, API, or operator identifier is required.
/api/public/healthCheck API availability and key authorization. Rate-limit headers accompany the response; view unit balance in Settings → API Access.
/api/public/openapi.jsonMachine-readable OpenAPI 3.1 schema.
/api/public/operatorsSearch and page normalized operator records.
/api/public/data-availabilityCheck which record groups match a company, well, or search term.
/api/public/operators/{id}Fetch one normalized operator profile.
/api/public/operators/{id}/production-summaryOperator production summary where supported by coverage.
/api/public/operators/{id}/permits-summaryOperator permit activity summary.
/api/public/permitsSearch and page permits.
/api/public/permits/top-operatorsRank operators by permit activity.
/api/public/permits/operator-growthShow permit-growth context by operator where supported.
/api/public/facility-permitsPreview facility permit records with source caveats.
/api/public/infrastructure/operator-leadsReturn infrastructure lead signals by operator where available.
/api/public/signals/tx/ps48Texas PS-48 pipeline construction-start notices with operator, county, timing, and T-4 status context.
/api/public/signals/nm/apdsNew Mexico APD surface-activity signals with county, operator, coordinates, issue dates, and spud context.
/api/public/reports/tx-nm-signal-summaryExecutive TX/NM signal summary across TX PS-48, TX infrastructure leads, NM APDs, NM facilities, and NM midstream context.
/api/public/wellsSearch and page normalized wells. This remains the low-cost starting point for lookup by operator, API number, lease name, or county.
/api/public/wells/{api}Fetch one normalized well profile by API number.
/api/public/wells/{api}/productionFetch supported modeled monthly well history, kept separate from official filed lease production.
/api/public/production/latest-monthReturn the latest complete modeled-production month and the separate well-explorer snapshot month.
/api/public/regulatory/tx/operatorsSearch official Texas RRC operator names and organization numbers.
/api/public/regulatory/tx/operators/{operatorNo}Fetch one official Texas RRC operator identity and latest filed-production context.
/api/public/regulatory/tx/operators/{operatorNo}/productionFetch official filed lease-production totals for one Texas RRC operator.
/api/public/regulatory/tx/wells/{api}Resolve a Texas API number to official operator, district, oil/gas class, and lease identity.
/api/public/regulatory/tx/wells/{api}/productionResolve a Texas API10 internally and return the same official filed lease history as the district/lease call. On multi-well leases, this remains a lease total, not official individual-well production.
/api/public/regulatory/tx/wells/{api}/completionFetch Full Wellbore formation/perforation context and retained approved W-2/G-1 measured depth or TVD.
/api/public/regulatory/tx/wells/{api}/inactive-statusFetch the latest official IWAR inactive status and factual snapshot transition context.
/api/public/regulatory/tx/wells/{api}/oltdw-statusFetch uniquely matched OLTDW status/test context; values are not actual individual-well production.
/api/public/regulatory/tx/wells/{api}/tests-allowablesFetch uniquely matched Oil Masters test/allowable context; values are not actual individual-well production.
/api/public/regulatory/tx/uic/wellsRun a bounded Texas UIC injection/disposal-well search using an exact UIC, API, or operator identifier.
/api/public/regulatory/tx/uic/wells/{uicControlNumber}Fetch one current Texas RRC UIC inventory and permit profile by native control number.
/api/public/regulatory/tx/uic/wells/{uicControlNumber}/monthlyFetch bounded H-10 and H-10H regulatory history as separate report records.
/api/public/regulatory/tx/leasesSearch official Texas RRC lease identities by district, lease, operator, or text.
/api/public/regulatory/tx/leases/{oilGasCode}/{districtNo}/{leaseNo}/productionFetch official filed production at lease grain. This is the canonical official-history call after resolving a well.
/api/public/regulatory/tx/production/summaryFetch official filed statewide or district lease-production totals.
/api/public/midstream/tx/pipelines/coverageInspect loaded Texas pipeline GIS coverage before requesting segment geometry.
/api/public/midstream/tx/pipelines/segmentsFetch bounded Texas pipeline GIS segments with source and geometry caveats.
/api/public/midstream/tx/t4/{permitNumber}/routeFetch mapped route evidence for one Texas T-4 permit number.
/api/public/midstream/facilitiesSearch regulator-derived Texas or New Mexico facility records.
https://api.energynetwatch.com
Send an API key in the X-API-Key header on every protected request.
Create a key in Settings → API Access after prepaid checkout activates access, or use an existing active app/API entitlement. Custom access can be arranged separately.
Your key controls which endpoint families you can call.
Each OpenAPI operation lists x-energynetwatch-unit-cost so you can estimate usage before running jobs.
Accounts can include plan-based units, prepaid units, or both, depending on plan and approved access.
Responses may include source dates, loaded-through values, and coverage notes where they matter.
Use the OpenAPI schema to generate clients or inspect request and response shapes.
Abridged response examples with illustrative values, not current search results. Additional fields are omitted. Preserve source, freshness, coverage and pagination metadata from real responses. Well production defaults to a well-card snapshot; explicit date windows request separately labeled modeled history, not official individual-well filings.
{
"success": true,
"data": {
"ok": true,
"service": "oandg-public-api",
"now": "2026-09-13T12:00:00.000Z"
}
}{
"success": true,
"data": {
"items": [{"operator_id": 123, "operator_name": "Example Energy LLC"}],
"pagination": {"page": 1, "limit": 5, "returned": 1}
}
}{
"success": true,
"data": {
"query": "Example Energy",
"stateScope": "TX",
"hasAnyData": true,
"operatorProfiles": [{"operator_id": 123, "operator_name": "Example Energy LLC"}]
}
}{
"success": true,
"data": {
"permits": [{"permit_number": "123456", "state_code": "TX", "operator_name": "Example Energy LLC", "issue_date": "2026-08-01", "spud_date": null}],
"totalPermits": 1,
"pagination": {"page": 1, "limit": 10, "returned": 1, "hasMore": false, "nextPage": null}
}
}{
"success": true,
"data": {
"api": "4212345678",
"state": "TX",
"series": [{"month": "2026-03-01", "oilBbl": 1200, "gasMcf": 850, "qualityFlag": "well_explorer_snapshot"}],
"source": {"table": "well_explorer_multistate", "basis": "latest well-card snapshot row", "defaultUsesWellCardSnapshot": true}
}
}{
"success": true,
"data": {
"stateScope": "TX",
"days": 90,
"operators": [{"rank": 1, "operatorName": "Example Energy LLC", "permits": 5, "facilityRecords": 3, "counties": ["Reeves"]}]
}
}{
"success": true,
"data": {
"ps48Notices": [{"operatorName": "Example Pipeline Co", "countyNames": ["Reeves"], "constructionStartDate": "2026-04-01"}],
"pagination": {"page": 1, "limit": 2, "returned": 1, "total": 1},
"quality": {"sourceSystem": "Texas RRC PS-48 New Pipeline Construction Reports"}
}
}{
"success": true,
"data": {
"reportWindowStart": "2025-12-27",
"tx": {"ps48": {"rows": 144, "reportedMiles": 1348.42}},
"nm": {"apd": {"rows": 1572}},
"quality": {"coverageScore": {"combinedPct": 97}}
}
}{
"success": true,
"data": {
"well": {"uicControlNumber": "123456789", "api10": "4200300297"},
"series": [{
"reportMonth": "2025-12-01",
"reportType": "H-10",
"h10": {"averageInjectionPressurePsi": 725, "totalVolumeBbl": 42000},
"h10h": null,
"source": {"period": "2026-08-01", "runId": "latest-example-run", "loadedAt": "2026-09-03T14:00:00Z", "reportingGrain": "one UIC control number + report month + report type", "caveat": "Regulatory report; not real-time telemetry."},
"rowProvenance": {"period": "2026-07-01", "runId": "example-run", "loadedAt": "2026-08-02T14:00:00Z"}
}],
"meta": {"coverage": {"reportTypesKeptSeparate": true, "hydrocarbonProduction": false}}
}
}{
"success": false,
"error": "Prepaid credits required",
"message": "Monthly included API units are exhausted and prepaid credits are not sufficient for this request."
}# Set ENERGYNETWATCH_API_KEY privately before running this checklist.
: "${ENERGYNETWATCH_API_KEY:?Set your API key in your private environment first}"
echo "1. OpenAPI schema"
curl -i https://api.energynetwatch.com/api/public/openapi.json
echo "2. No-key health check should return 401"
curl -i https://api.energynetwatch.com/api/public/health
echo "3. Authenticated health should return 200"
curl -i https://api.energynetwatch.com/api/public/health \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"
echo "4. Operator search"
curl -i "https://api.energynetwatch.com/api/public/operators?search=Civitas&limit=5" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"
echo "5. Data availability"
curl -i "https://api.energynetwatch.com/api/public/data-availability?search=Civitas&state=TX&includeCounty=true" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"
echo "6. TX PS-48 signal sample"
curl -i "https://api.energynetwatch.com/api/public/signals/tx/ps48?limit=2" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"
echo "7. NM APD signal sample"
curl -i "https://api.energynetwatch.com/api/public/signals/nm/apds?limit=2" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"
echo "8. TX/NM signal summary"
curl -i "https://api.energynetwatch.com/api/public/reports/tx-nm-signal-summary" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"
echo "9. Latest production month"
curl -i "https://api.energynetwatch.com/api/public/production/latest-month?state=TX" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"
echo "10. Bad limit / validation check"
curl -i "https://api.energynetwatch.com/api/public/operators?search=Civitas&limit=999999" \
-H "X-API-Key: $ENERGYNETWATCH_API_KEY"
echo "11. Bogus key should return 401"
curl -i https://api.energynetwatch.com/api/public/health \
-H "X-API-Key: bogus_test_key"Expected behavior: no-key and bogus-key requests return 401, valid keys return 200, invalid parameters return 400, endpoint access problems return 403, exhausted usage returns 402 where applicable, and rate-limited usage returns 429. Successful responses should include X-Request-ID and rate-limit headers where limits apply.
The key is missing, malformed, revoked, or paused. Stop the job and check the key.
The account is out of included units and does not have enough prepaid units for the request.
The key is valid, but the account does not have access to that endpoint.
Too many requests were sent in the current window. Respect Retry-After before retrying.
Log this header with failed jobs or support requests. Do not log full API keys.
Use limit, remaining, and reset headers for backoff, monitoring, and job scheduling.
Keep source dates, loaded-through values, state coverage, and caveats with the results.
source and meta.freshness describe the latest completed dataset check; rowProvenance describes when a specific profile or monthly record was introduced or corrected.