Sodir FactPages Scraper - NCS Wellbores, Fields, Licences
Pricing
Pay per event
Sodir FactPages Scraper - NCS Wellbores, Fields, Licences
Scrape wellbores, fields, licences, and discoveries from Norway's Sodir (ex-NPD) FactPages. Returns operator, geocoded coordinates (WGS84), reserves (oil/gas/NGL/condensate), and optional monthly production history for all NCS datasets.
Pricing
Pay per event
Rating
0.0
(0)
Developer
BowTiedRaccoon
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
6 days ago
Last modified
Categories
Share
Sodir Norway Petroleum FactPages Scraper
Scrapes wellbores, fields, production licences, and discoveries from Norway's Sodir FactPages (formerly the Norwegian Petroleum Directorate). Returns geocoded coordinates, operator data, reserves estimates, and optional monthly production history for all 10,000+ records on the Norwegian Continental Shelf.
Sodir FactPages Scraper Features
- Extracts all four NCS datasets — wellbores (~9,800 records), fields (~143), production licences (~1,810), and discoveries (~650)
- Returns geocoded wellhead coordinates — WGS84 latitude and longitude for every wellbore
- Includes field reserves — recoverable and remaining oil, gas, NGL, and condensate (million/billion Sm3)
- Optional monthly production history — all production rows since first oil, ~28,000 records going back decades
- Filters wellbores by sea area — North Sea, Norwegian Sea, or Barents Sea
- Filters by operator — substring match on drilling operator or field operator name
- Runs without proxies — Sodir FactPages is a public government data portal with no access restrictions
- Bulk CSV download — no pagination, no rendering, no browser required
What Can You Do With Sodir Data?
- E&P analysts — build NCS acreage maps, benchmark operator drilling activity, and track field development timelines
- Energy-security researchers — model Norwegian gas production capacity, track reserve depletion, and monitor license award rounds
- Decommissioning consultants — identify P&A candidates using wellbore status, water depth, and completion dates
- CCS project trackers — isolate CO2_STORAGE wellbore type and identify depleted fields suitable for carbon injection
- Financial modelers — feed reserves and production history into DCF models without manual data entry
- Regulatory and compliance teams — cross-reference licence holder history with company filings
How It Works
- Choose a dataset. Select
field,wellbore,discovery,licence, orallto fetch everything in sequence. - Set optional filters. Narrow wellbores to a sea area or filter any dataset by operator name. Leave blank for all records.
- The scraper downloads the full CSV from Sodir's SSRS export endpoint. One request per dataset, no pagination — Sodir publishes complete bulk exports updated daily.
- Records are parsed and output as structured JSON. Each row is normalized, numeric fields are cast to numbers, and a
factPageUrlis included for every record.
Sodir FactPages Scraper Input
{"datasetType": "field","mainArea": "all","operatorFilter": "","includeReserves": true,"includeMonthlyProduction": false,"maxItems": 100}
| Field | Type | Default | Description |
|---|---|---|---|
datasetType | string (select) | field | Which dataset to scrape: wellbore, field, discovery, licence, or all |
mainArea | string (select) | all | Filter wellbores by sea area: all, NORTH SEA, NORWEGIAN SEA, BARENTS SEA. Ignored for other datasets. |
operatorFilter | string | "" | Case-insensitive substring filter on operator or drilling operator name. Leave blank for all. |
includeReserves | boolean | true | Append recoverable and remaining reserves (oil, gas, NGL, condensate) to field records. |
includeMonthlyProduction | boolean | false | Append monthly production history (~28,000 rows) to field records. |
maxItems | integer | 100 | Maximum records to return across all datasets. 0 = unlimited. |
Wellbore input example — North Sea wells, Equinor only:
{"datasetType": "wellbore","mainArea": "NORTH SEA","operatorFilter": "equinor","maxItems": 500}
Full NCS sweep:
{"datasetType": "all","maxItems": 0}
Sodir FactPages Scraper Output Fields
All datasets share datasetType, name, npdid, factPageUrl, dateUpdated, dateSyncNpd, and scrapedAt. Dataset-specific fields are below.
Field Output
{"datasetType": "field","name": "EKOFISK","npdid": 43506,"factPageUrl": "https://factpages.sodir.no/en/field/PageView/All/43506","fieldStatus": "PRODUCING","discoveryYear": 1969,"productionStartDate": "07.06.1971","operatorName": "ConocoPhillips Skandinavia AS","hcType": "OIL","ownerKind": "PRODUCTION LICENCE","ownerName": "EKOFISK UNIT","recoverableOilMillSm3": 1038.8,"recoverableGasBillSm3": 206.0,"remainingOilMillSm3": 104.5,"reservesYear": 2023,"scrapedAt": "2026-05-09T14:08:10.000Z"}
| Field | Type | Description |
|---|---|---|
name | string | Field name |
npdid | number | Sodir canonical NPDID |
fieldStatus | string | PRODUCING, SHUT DOWN, APPROVED FOR PRODUCTION, etc. |
discoveryYear | number | Year of discovery |
productionStartDate | string | DD.MM.YYYY |
operatorName | string | Current operator |
hcType | string | OIL, GAS, GAS/CONDENSATE, OIL/GAS CONDENSATE |
ownerKind | string | PRODUCTION LICENCE or BUSINESS ARRANGEMENT AREA |
ownerName | string | Licence or unit name |
recoverableOilMillSm3 | number | Recoverable oil reserves (million Sm3) |
recoverableGasBillSm3 | number | Recoverable gas reserves (billion Sm3) |
recoverableNglMillSm3 | number | Recoverable NGL reserves (million Sm3) |
recoverableCondensateMillSm3 | number | Recoverable condensate (million Sm3) |
remainingOilMillSm3 | number | Remaining oil reserves (million Sm3) |
remainingGasBillSm3 | number | Remaining gas reserves (billion Sm3) |
reservesYear | number | Year of reserves estimate |
factPageUrl | string | Link to Sodir detail page |
scrapedAt | string | ISO 8601 fetch timestamp |
Monthly production fields (when includeMonthlyProduction: true):
| Field | Type | Description |
|---|---|---|
productionYear | number | Production year |
productionMonth | number | Production month (1-12) |
prodOilNetMillSm3 | number | Net oil production (million Sm3) |
prodGasNetBillSm3 | number | Net gas production (billion Sm3) |
prodNglNetMillSm3 | number | Net NGL production (million Sm3) |
prodCondensateNetMillSm3 | number | Net condensate production (million Sm3) |
Wellbore Output
{"datasetType": "wellbore","name": "34/10-23 S","npdid": 5174,"wellboreType": "EXPLORATION","purpose": "WILDCAT","status": "P&A","content": "GAS","drillingOperator": "Equinor Energy AS","mainArea": "NORTH SEA","totalDepthMdM": 4842,"waterDepthM": 311,"latitudeWgs84": 61.023,"longitudeWgs84": 2.197,"entryDate": "30.03.2010","completionDate": "09.06.2010","productionLicence": "PL150","factPageUrl": "https://factpages.sodir.no/en/wellbore/PageView/All/5174"}
| Field | Type | Description |
|---|---|---|
name | string | Wellbore name |
wellboreType | string | EXPLORATION, DEVELOPMENT, CO2_STORAGE, OTHER |
wellName | string | Parent well name |
purpose | string | WILDCAT, APPRAISAL, PRODUCTION, INJECTION, etc. |
status | string | P&A, PLUGGED, PRODUCING, INJECTING, SUSPENDED |
content | string | OIL, GAS, OIL/GAS, DRY, etc. |
drillingOperator | string | Drilling operator name |
mainArea | string | NORTH SEA, NORWEGIAN SEA, BARENTS SEA |
totalDepthMdM | number | Total measured depth (m) |
finalVerticalDepthM | number | Final vertical depth (m) |
waterDepthM | number | Water depth at wellhead (m) |
latitudeWgs84 | number | Wellhead latitude (decimal degrees) |
longitudeWgs84 | number | Wellhead longitude (decimal degrees) |
entryDate | string | Spud date (DD.MM.YYYY) |
completionDate | string | Completion date (DD.MM.YYYY) |
entryYear | number | Year of spud |
completionYear | number | Year of completion |
productionLicence | string | Licence at wellhead (e.g., PL019) |
fieldName | string | Associated field name |
drillingFacility | string | Rig name |
block | string | NCS block designation (e.g., 30/9) |
Discovery Output
| Field | Type | Description |
|---|---|---|
name | string | Discovery name |
discoveryStatus | string | PRODUCING, DEVELOPMENT APPROVED, etc. |
discoveryHcType | string | Hydrocarbon type |
discoveryWellName | string | Discovery wellbore name |
namedArea | string | Sea area name |
includedInFieldName | string | Field this discovery is included in (if any) |
Licence Output
| Field | Type | Description |
|---|---|---|
name | string | Licence name (e.g., PL019) |
licencingActivity | string | Licensing round (e.g., 1-A, APA 2024) |
licenceArea | string | Sea area |
licenceStatus | string | ACTIVE, RELINQUISHED, EXPIRED |
licenceDateGranted | string | DD.MM.YYYY |
licenceDateValidTo | string | DD.MM.YYYY |
licenceCurrentArea | number | Current licence area (km2) |
licenceHolders | string | Current licensees with interest %: "Company A (50.0%), Company B (50.0%)" |
🔍 FAQ
How do I scrape wellbore data from Sodir FactPages?
Sodir FactPages Scraper downloads the full wellbore dataset in one request. Set datasetType: "wellbore" and optionally filter by mainArea or operatorFilter. The dataset includes all ~9,800 NCS wellbores drilled since 1966.
How much does it cost to run?
Sodir FactPages Scraper costs $0.001 per record plus $0.10 per run. Fetching all fields, discoveries, and licences (~2,600 records) runs under $0.20. The full wellbore dataset (~9,800 records) with monthly production history (~28,000 rows) costs under $0.50.
What data can I get from Sodir FactPages?
Sodir FactPages Scraper returns wellbores (geocoded coordinates, depth, status, content, operator), fields (reserves, production dates, operator, HC type), production licences (holders, area, status), and discoveries (status, HC type, associated field). Monthly production figures go back decades for producing fields.
Can I filter by specific operator or sea area?
Sodir FactPages Scraper supports both. Set operatorFilter to any substring (e.g., "equinor", "aker") for a case-insensitive match on the operator or drilling operator field. Set mainArea to NORTH SEA, NORWEGIAN SEA, or BARENTS SEA to limit wellbores by location.
Does Sodir FactPages Scraper need proxies?
No proxies required. Sodir FactPages is a Norwegian government open-data portal with no rate limits, CAPTCHA, or geographic restrictions.
Need More Features?
Need custom filters, additional Sodir datasets, or integration with other Norwegian data sources? File an issue or get in touch.
Why Use Sodir FactPages Scraper?
- No manual exports — Sodir's FactPages UI limits HTML tables to 100 rows. This actor fetches the unrestricted bulk CSV — same data Sodir publishes for download, just automated.
- Clean, typed output — numeric fields cast to numbers, dates stay in Sodir's DD.MM.YYYY format, and a
factPageUrllinks every record back to the source. Less cleanup, more analysis. - No proxies, no browser — direct CSV download from a public government endpoint, which means fast runs without residential IP pools.