OrbTop

Sodir FactPages Scraper - NCS Wellbores, Fields, Licences

BUSINESSDEVELOPER TOOLSOTHER

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

  1. Choose a dataset. Select field, wellbore, discovery, licence, or all to fetch everything in sequence.
  2. Set optional filters. Narrow wellbores to a sea area or filter any dataset by operator name. Leave blank for all records.
  3. 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.
  4. Records are parsed and output as structured JSON. Each row is normalized, numeric fields are cast to numbers, and a factPageUrl is 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 factPageUrl links 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.