NSTA Oil & Gas License Search
Pricing
from $2.00 / 1,000 license fetcheds
NSTA Oil & Gas License Search
Search UK North Sea Transition Authority petroleum licences, wells, and hydrocarbon fields. Filter by operator, status, block number, licence type. Covers UKCS offshore data including Shell, BP, TotalEnergies. Returns structured JSON with dates, areas, depths. Free public data, no API key.
Pricing
from $2.00 / 1,000 license fetcheds
Rating
0.0
(0)
Developer

ryan clinton
Actor stats
0
Bookmarked
2
Total users
0
Monthly active users
4 hours ago
Last modified
Categories
Share
Search the North Sea Transition Authority's official register of UK Continental Shelf petroleum licences, offshore wells, and hydrocarbon fields. This Apify actor queries NSTA's public ArcGIS feature services to return structured, analysis-ready data covering operator holdings, drilling records, and field production status across all UK offshore regions. No API key required -- the data is published openly by the UK government regulator responsible for offshore oil and gas stewardship.
Why use NSTA Oil & Gas License Search?
Getting usable data out of the NSTA has always been frustrating. The official NSTA map viewer is designed for visual browsing, not data extraction. Querying the underlying ArcGIS REST endpoints directly requires knowledge of service URLs, field names, pagination mechanics, and SQL WHERE clause syntax -- technical hurdles that slow down analysts who just need the data in a spreadsheet or database. Manually copying records from the map viewer is tedious and error-prone, especially when tracking hundreds of licences or thousands of wells across operator portfolios.
This actor removes all of that friction. Point it at the dataset you need -- licences, wells, or fields -- apply your filters, and get clean JSON output in seconds. Operator names, licence statuses, block references, well depths, spud dates, and field classifications all come back in human-readable field names with proper date formatting. Whether you are running M&A due diligence on a North Sea operator, monitoring licence relinquishments for competitive intelligence, or building a database of UKCS drilling activity, this actor gives you programmatic access to the same authoritative data that underpins the NSTA's own publications and reports.
Key features
- Three datasets in one actor -- Search petroleum licences, wells/wellbores, and hydrocarbon fields using a single unified interface instead of managing separate scrapers.
- No API key required -- All data comes from NSTA's public ArcGIS Online feature services with no authentication or registration needed.
- Operator filtering with partial matching -- Search by company name (e.g., "Shell", "BP", "TotalEnergies") across operator, operator group, sub-operator, and administrative organisation fields.
- Status filtering -- Narrow results to Active, Extant, Relinquished, Surrendered, Terminated, Expired, Producing, Decommissioning, or Closed records.
- UKCS block number search -- Target specific North Sea blocks using standard notation like 22/30 or 211/29 for area-focused analysis.
- Cross-field keyword search -- A single keyword is matched against 6-8 relevant fields per dataset, catching results you might miss with single-field filters.
- Optional GeoJSON geometry -- Include geographic boundary polygons and coordinate data for licence blocks, well paths, and field outlines when you need spatial analysis.
- Automatic pagination -- The actor handles ArcGIS page-size limits transparently, fetching up to 5,000 records across multiple paginated requests.
- Clean date formatting -- ArcGIS epoch-millisecond timestamps are converted to ISO 8601 date strings (YYYY-MM-DD) automatically.
- Batched output -- Results are pushed to the Apify dataset in batches of 500 to handle large extractions without memory issues.
How to use NSTA Oil & Gas License Search
Using Apify Console
- Navigate to the NSTA Oil & Gas License Search page on the Apify Store and click Try for free.
- Select a Search Type from the dropdown -- Petroleum Licences, Wells / Wellbores, or Hydrocarbon Fields.
- Enter your filters. For example, type "Shell" in the Operator / Company field and select "Extant" from the Status dropdown.
- Set the Max Results limit (default is 500, maximum is 5,000) and optionally enable Include Geometry if you need spatial data.
- Click Start and wait for the run to complete. Download results as JSON, CSV, or Excel from the Dataset tab.
Using the API
You can call this actor programmatically via the Apify API, the JavaScript client, or the Python client. See the API & Integration section below for ready-to-use code examples in Python, JavaScript, and cURL.
Input parameters
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
searchType | string | No | "licenses" | Dataset to query: "licenses" (petroleum licences), "wells" (offshore wells), or "fields" (hydrocarbon fields) |
operator | string | No | -- | Filter by operator or company name. Partial match -- "Shell" matches "Shell U.K. Limited". Searches across operator, sub-operator, operator group, and admin org fields. |
status | string | No | -- | Filter by record status. Options: Active, Extant, Relinquished, Surrendered, Terminated, Expired, Producing, Decommissioning, Closed. |
licenceType | string | No | -- | Filter by licence type (e.g., "Production", "Exploration", "Seaward Production"). Partial match. Applies to licences and wells only. |
blockNumber | string | No | -- | Filter by UKCS block number (e.g., "22/30", "211/29"). Partial match. Applies to licence searches only. |
keyword | string | No | -- | General keyword search across multiple fields per dataset (licence reference, operator, block, target field, facility, etc.). |
includeGeometry | boolean | No | false | Include geographic boundary/coordinate data (GeoJSON polygons/polylines) in results. |
maxResults | integer | No | 500 | Maximum number of results to return. Range: 1 to 5,000. |
Example input
{"searchType": "licenses","operator": "Shell","status": "Extant","maxResults": 200}
Tips for input
- All text filters use partial matching -- you do not need the exact full company name or licence type.
- Multiple filters are combined with AND logic. Setting operator to "BP" and status to "Extant" returns only extant BP licences.
- Leave all filters empty to retrieve all records of the selected search type (up to
maxResults). - The
blockNumberfilter only applies whensearchTypeis"licenses". It is ignored for wells and fields. - The
licenceTypefilter applies to licences and wells but is ignored for fields. - Enable
includeGeometryonly when you need spatial data -- polygon geometries can significantly increase output size.
Output
The actor returns different fields depending on the selected search type. Each result also includes a sourceLayer identifier and a rawAttributes object containing all original ArcGIS fields.
Licence result example
{"licenceReference": "P.2586","licenceNumber": 2586,"licenceType": "Seaward Production","licenceTypeCode": "P","licenceStatus": "Extant","operator": "Shell U.K. Limited","operatorGroup": "Shell plc","licenseeOrganisations": "Shell U.K. Limited","blockReference": "22/30c","fields": "SHEARWATER","regions": "Central North Sea","startDate": "2018-07-01","endDate": null,"expiryDate": "2046-06-30","currentPhase": "Production","currentTerm": "Initial","roundType": "Supplementary","roundNumber": 32,"agreedAreaKm2": 38.75,"calculatedAreaKm2": 38.92,"administrativeOrg": "Shell U.K. Limited","pdfLink": "https://itportal.nstauthority.co.uk/...","geometry": null,"sourceLayer": "UKCS offshore petroleum licences (WGS84)"}
Well result example
{"wellRegistrationNo": "22/30c-G11","wellOriginReference": "22/30c-G1","wellOriginStatus": "Completed","operatorWellboreName": "G11","wellboreStatus": "Completed","spudDate": "2020-03-15","completionDate": "2020-06-22","originalIntent": "Development","currentIntent": "Development","mechanicalStatus": "Cased & Suspended","operationalStatus": "Production","targetField": "SHEARWATER","licenceType": "Production","licenceNo": "P.2586","subareaOperator": "Shell U.K. Limited","subareaOperatorGroup": "Shell plc","totalDepthMd_ft": 18540,"totalDepthMd_m": 5651,"totalDepthTvdss_ft": 15230,"totalDepthTvdss_m": 4642,"waterDepth_ft": 295,"waterDepth_m": 90,"facilityName": "SHEARWATER","facilityType": "Platform","deviationType": "Deviated","topHoleLat": "56.8234","topHoleLon": "2.1456","geometry": null,"sourceLayer": "UKCS offshore petroleum wells (WGS84)"}
Field result example
{"fieldName": "SHEARWATER","fieldType": "Gas Condensate","shortName": "SHEARWATER","status": "Producing","statusCode": "PR","discoveryDate": "1988","discoveryWell": "22/30b-3","productionStartDate": "2004","depth_m": "4500","determinationStatus": "Determined","originalOperator": "Shell U.K. Exploration and Production","currentOperator": "Shell U.K. Limited","originalLicence": "P.351","geometry": null,"sourceLayer": "UKCS offshore hydrocarbon fields (WGS84)"}
Output fields -- Licences (22 fields)
licenceReference, licenceNumber, licenceType, licenceTypeCode, licenceStatus, operator, operatorGroup, licenseeOrganisations, blockReference, fields, regions, startDate, endDate, expiryDate, currentPhase, currentTerm, roundType, roundNumber, agreedAreaKm2, calculatedAreaKm2, administrativeOrg, pdfLink
Output fields -- Wells (27 fields)
wellRegistrationNo, wellOriginReference, wellOriginStatus, operatorWellboreName, wellboreStatus, spudDate, completionDate, originalIntent, currentIntent, mechanicalStatus, operationalStatus, targetField, licenceType, licenceNo, subareaOperator, subareaOperatorGroup, totalDepthMd_ft, totalDepthMd_m, totalDepthTvdss_ft, totalDepthTvdss_m, waterDepth_ft, waterDepth_m, facilityName, facilityType, deviationType, topHoleLat, topHoleLon
Output fields -- Fields (13 fields)
fieldName, fieldType, shortName, status, statusCode, discoveryDate, discoveryWell, productionStartDate, depth_m, determinationStatus, originalOperator, currentOperator, originalLicence
All result types also include geometry (null unless includeGeometry is enabled), sourceLayer (identifies the NSTA dataset), and rawAttributes (the complete original ArcGIS attribute record).
Use cases
- M&A due diligence -- Pull all licences held by a target operator to assess their UKCS portfolio before an acquisition, including licence expiry dates, block locations, and associated fields.
- Competitive intelligence -- Monitor which operators hold active licences in specific North Sea blocks or regions to track competitor positioning and expansion activity.
- Licence expiry tracking -- Extract all licences with expiry dates approaching to identify upcoming relinquishment rounds and potential open acreage opportunities.
- Drilling activity analysis -- Query well records by operator, spud date range, or target field to build a timeline of drilling activity across the UKCS.
- Field production monitoring -- Track the status of producing fields, identify fields entering decommissioning, and monitor operator changes across field portfolios.
- Regulatory compliance reporting -- Automate the extraction of licence and well data needed for internal compliance reports, reducing manual data gathering from the NSTA portal.
- GIS and mapping projects -- Enable geometry output to feed licence block boundaries, well locations, and field outlines into GIS platforms like QGIS, ArcGIS, or Mapbox.
- Investment research -- Cross-reference NSTA licence holdings with financial data to evaluate the upstream asset base of publicly listed oil and gas companies.
- Academic and policy research -- Build comprehensive datasets of UKCS exploration and production history for energy policy analysis and transition studies.
- Supply chain prospecting -- Identify active operators and drilling locations to target sales efforts for oilfield services, equipment, and logistics.
API & Integration
Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("hcRLmf3C0wGmaEcnd").call(run_input={"searchType": "licenses","operator": "BP","status": "Extant","maxResults": 100,})dataset_items = client.dataset(run["defaultDatasetId"]).list_items().itemsfor item in dataset_items:print(f"{item['licenceReference']} - {item['operator']} - {item['licenceStatus']}")
JavaScript
import { ApifyClient } from "apify-client";const client = new ApifyClient({ token: "YOUR_API_TOKEN" });const run = await client.actor("hcRLmf3C0wGmaEcnd").call({searchType: "wells",operator: "TotalEnergies",maxResults: 200,});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach((item) => {console.log(`${item.wellRegistrationNo} - ${item.subareaOperator} - ${item.spudDate}`);});
cURL
# Start a runcurl -X POST "https://api.apify.com/v2/acts/hcRLmf3C0wGmaEcnd/runs?token=YOUR_API_TOKEN" \-H "Content-Type: application/json" \-d '{"searchType": "fields","status": "Producing","maxResults": 500}'# Fetch results (replace DATASET_ID with the value from the run response)curl "https://api.apify.com/v2/datasets/DATASET_ID/items?token=YOUR_API_TOKEN&format=json"
Integrations
This actor works with all standard Apify platform integrations, including:
- Google Sheets -- Automatically push licence, well, or field data to a spreadsheet after each run.
- Slack / Microsoft Teams -- Send notifications when new results match your monitoring criteria.
- Webhooks -- Trigger downstream systems when a run completes, enabling real-time data pipelines.
- Zapier / Make -- Connect to 5,000+ apps for custom automation workflows.
- Amazon S3 / Google Cloud Storage -- Archive results to cloud storage for long-term data retention.
- Scheduled runs -- Set up daily, weekly, or monthly runs to track changes in licence status, new well spuds, or operator activity over time.
How it works
The actor queries the NSTA's ArcGIS Online feature services -- the same backend that powers the NSTA's public map viewer. Here is the step-by-step pipeline:
- Parse input -- The actor reads your search type and filter parameters, then selects the corresponding ArcGIS feature service endpoint (licences, wells, or fields).
- Build SQL WHERE clause -- Each filter is translated into a SQL condition. Operator names use LIKE with wildcards for partial matching. Status uses exact matching. Multiple filters are joined with AND.
- Count query -- A lightweight count-only request is sent first to determine how many records match, allowing the actor to log the total and exit early if zero results are found.
- Paginated data fetch -- The actor retrieves matching features in pages of up to 2,000 records per request, incrementing the result offset until all records are fetched or the
maxResultslimit is reached. - Transform attributes -- Raw ArcGIS field names (e.g., LICREF, WELLBRSTAT, CURR_OPER) are mapped to clean, readable property names. Epoch-millisecond dates are converted to YYYY-MM-DD strings. Null and empty values are normalized.
- Batch push -- Transformed results are pushed to the Apify dataset in batches of 500 items to keep memory usage stable during large extractions.
Input Filters SQL WHERE Clause NSTA ArcGIS Online+----------------+ +-------------------+ +--------------------+| operator: BP | ---> | LICORG LIKE '%BP%'| --> | Feature Service || status: Extant | | AND LICSTATUS = | | /query endpoint || maxResults:100 | | 'Extant' | | (2000 per page) |+----------------+ +-------------------+ +--------------------+|+----------------------------+v+---------------------+ +---------------------+| Transform & format | --> | Apify Dataset || fields, dates, nulls| | (batches of 500) |+---------------------+ +---------------------+
Performance & cost
NSTA Oil & Gas License Search is extremely lightweight. It makes REST API calls to public ArcGIS services with no browser rendering or headless browser overhead.
| Scenario | Records | Approx. run time | Estimated cost |
|---|---|---|---|
| Single operator, filtered status | 10-50 | 3-5 seconds | ~$0.001 |
| All active licences | 200-500 | 5-10 seconds | ~$0.002 |
| Full well search, one operator | 500-1,000 | 10-15 seconds | ~$0.003 |
| Broad keyword search | 1,000-2,000 | 15-25 seconds | ~$0.005 |
| Maximum extraction (5,000 records) | 5,000 | 25-45 seconds | ~$0.008 |
| With geometry enabled | 500 | 8-15 seconds | ~$0.003 |
Apify offers a free tier that includes $5 of monthly platform credits -- enough to run this actor hundreds of times per month at no cost. The actor uses a minimum 256 MB memory allocation.
Limitations
- Maximum 5,000 results per run -- The actor caps output at 5,000 records. For datasets larger than this, use filters to break the extraction into multiple targeted runs.
- UKCS offshore data only -- The NSTA datasets cover UK Continental Shelf offshore petroleum activity. Onshore UK oil and gas data is not included.
- Block number filter is licence-only -- The
blockNumberfilter applies only whensearchTypeis"licenses". Wells and fields do not support direct block number filtering. - Licence type filter does not apply to fields -- The
licenceTypefilter works for licences and wells but is ignored when searching fields. - Data freshness depends on NSTA -- While the actor queries live ArcGIS services, the underlying data is updated by the NSTA on their own schedule. There may be a lag between regulatory events and their appearance in the data.
- Geometry data can be large -- Enabling
includeGeometryfor licence block polygons can significantly increase output size, especially for licences covering complex multi-block areas. - No historical snapshots -- The actor retrieves current-state data only. It does not provide historical time-series views of how licence holdings or field statuses have changed over time.
Responsible use
- Public government data -- All data accessed by this actor is published openly by the NSTA on public ArcGIS feature services. No private, restricted, or authenticated data is accessed.
- Respect rate limits -- While the NSTA services are public, avoid scheduling runs at excessively high frequencies. A few runs per day is appropriate for most monitoring use cases.
- Attribution -- When publishing or redistributing NSTA data, credit the North Sea Transition Authority as the data source in accordance with UK Open Government Licence terms.
- No personal data -- The datasets contain information about corporate entities, licences, wells, and fields. They do not contain personal or individually identifiable information.
- Verify critical decisions -- For regulatory filings, legal proceedings, or financial transactions, always verify extracted data against the official NSTA portal or direct communication with the NSTA.
FAQ
What is the NSTA? The North Sea Transition Authority (NSTA), formerly known as the Oil & Gas Authority (OGA), is the UK government regulator for offshore oil and gas exploration and production. It manages licensing rounds, monitors operator compliance, and publishes open data about petroleum activities on the UK Continental Shelf.
What does UKCS mean? UKCS stands for UK Continental Shelf. It covers all offshore areas around the United Kingdom where the government grants petroleum exploration and production licences, including the North Sea, West of Shetland, Irish Sea, English Channel, and Celtic Sea.
Do I need an API key to use this actor? No. The NSTA publishes these datasets on public ArcGIS Online feature services that require no authentication, registration, or API key. The actor queries these services directly.
How current is the data? The data comes from the NSTA's live ArcGIS Online feature services. It reflects the most current publicly available data as maintained by the NSTA. Updates are published by the NSTA on their own schedule, typically within days or weeks of regulatory events.
What is the difference between "Active" and "Extant" licence status? In NSTA terminology, "Extant" generally refers to licences currently in force that have not been relinquished, surrendered, or terminated. "Active" may refer to a specific operational state. Both indicate currently valid licences. When in doubt, search for both statuses.
Can I get geographic boundary data for mapping?
Yes. Set includeGeometry to true to receive coordinate data with each result. Licence blocks return polygon boundaries, wells return point or polyline geometries, and fields return polygon outlines. The geometry is compatible with GeoJSON-based tools and GIS platforms.
What licence types exist in the NSTA system? Common types include Seaward Production, Exploration, Carbon Storage, and Methane Drainage. The exact set depends on the era and licensing round. Use partial matching -- "Production" will match "Seaward Production" and other production-type licences.
Can I search for a specific well by registration number?
Yes. Use the keyword field with the well registration number (e.g., "22/30c-G11") when searching wells. The keyword filter searches across the well registration number field among others.
How do I track changes over time? Set up a scheduled run on Apify (daily or weekly) and push results to a database or spreadsheet. By comparing successive extractions, you can detect new licences, status changes, new wells spudded, and operator changes.
What happens if my query matches zero records? The actor logs a warning and returns an empty dataset. No errors are thrown. Check your filter spelling and try broadening the search -- for example, remove the status filter or use a shorter operator name fragment.
Can I combine multiple filters? Yes. All filters are combined with AND logic. For example, setting operator to "BP" and status to "Extant" returns only extant licences where BP is an operator. You can combine operator, status, licence type, block number, and keyword in a single run.
Is there a cost to access NSTA data through this actor? The NSTA data itself is free. The only cost is Apify platform compute credits, which are minimal (typically under $0.01 per run). Apify's free tier includes $5 of monthly credits, sufficient for hundreds of runs.
Related actors
| Actor | Description |
|---|---|
| UK Companies House Search | Look up corporate entities behind NSTA licence holders. Cross-reference operator names with Companies House filings for ownership and director details. |
| OpenCorporates Search | Search global corporate registries to trace parent companies and subsidiaries of NSTA licence operators across multiple jurisdictions. |
| SEC EDGAR Filing Analyzer | For operators listed on US exchanges, search SEC filings for financial disclosures related to their UK North Sea operations. |
| EPO European Patent Search | Search European Patent Office records for patents filed by oil and gas operators covering drilling technology, subsea systems, and production methods. |
| UK Land Registry | Search UK Land Registry price-paid data for onshore property transactions by oil and gas companies, including office and facility sites. |
| OpenSanctions Search | Screen NSTA licence operators against international sanctions lists for compliance and due diligence purposes. |