Postcodes.io UK Postcode Scraper avatar

Postcodes.io UK Postcode Scraper

Pricing

from $4.52 / 1,000 results

Go to Apify Store
Postcodes.io UK Postcode Scraper

Postcodes.io UK Postcode Scraper

Scrapes UK postcode data from Postcodes.io. Input a list of postcodes or leave empty for a random sample. Returns one row per postcode with coordinates and administrative areas.

Pricing

from $4.52 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Share

ParseForge

Postcodes.io UK Postcode Scraper

Scrape UK postcode data from Postcodes.io, the free open-data API, with no key or login. Get latitude, longitude, administrative areas, and more for any list of postcodes, or pull a random sample. Export to CSV, JSON, Excel, or XML.

Postcodes.io is the free, open-data UK postcode API, but calling it yourself means handling HTTP requests, rate limits, and pagination. This Actor wraps the API into a simple input: paste a list of postcodes or leave it empty for a random sample, and get back one flat row per postcode with its coordinates, ward, district, and other geographies. No API key, no registration, no code.

Who uses itWhat they scrape Postcodes.io for
Market researchersMapping customer postcodes to regions for demographic analysis
Logistics plannersGeocoding delivery postcodes to optimize routes
Data analystsEnriching CRM records with accurate postcode geography
Real estate professionalsChecking postcode boundaries for property listings
App developersTesting postcode validation and lookup features

What it does

This Actor collects UK postcode data from Postcodes.io and returns each postcode as a flat row with its coordinates and administrative areas.

  • ๐Ÿ“ Bulk lookup: paste up to a million postcodes and get one row per postcode.
  • ๐ŸŽฒ Random sample: leave the input empty and the Actor fetches random postcodes from the API.
  • ๐Ÿ—บ๏ธ Geocoding: each row includes latitude and longitude for mapping.
  • ๐Ÿ›๏ธ Administrative areas: returns ward, district, county, and other boundaries.
  • ๐Ÿ“ฆ Flat output: every postcode becomes one row in CSV, JSON, Excel, or XML.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with Postcodes.io data

๐Ÿ“ Geocode a customer list.

A logistics planner pastes thousands of delivery postcodes and gets coordinates to plot on a map and optimize routes.

๐Ÿ—บ๏ธ Enrich CRM records.

A data analyst runs a list of customer postcodes to add ward, district, and county fields for regional reporting.

๐ŸŽฒ Generate test data.

An app developer leaves the input empty to fetch random postcodes and validate a postcode lookup feature.

๐Ÿ›๏ธ Check boundaries.

A real estate professional verifies which administrative area a property postcode falls into for listings.

Why choose this scraper

What you get
No API keyPostcodes.io is open data, so you can start scraping immediately
Bulk and randomLook up specific postcodes or pull a random sample for testing
Geocoding includedLatitude and longitude come back with every postcode
Flat schemaOne row per postcode, ready for spreadsheets or databases

How it compares

No other Store actor targets Postcodes.io the same way, so the honest comparison is with the alternatives teams actually weigh.

Postcodes.io UK Postcode ScraperBuild it in-houseBy hand
SetupRun it now, zero configDays of engineeringNone, but hours per pull
When Postcodes.io changesMaintained for youYou fix itYou re-learn the page
Proxies, retries, anti-botBuilt inYour problemBrowser only
OutputFixed JSON schema, CSV/Excel exportWhatever you buildCopy-paste
CostPay per resultEngineering timeAnalyst hours

Configure the run

Drive the Actor from a list of postcodes or leave it empty for a random sample, and set a maximum number of postcodes to collect per run. The Input tab lists every parameter.

A first run with the defaults:

{
"postcodes": [
"SW1A 1AA",
"EC1A 1BB",
"M32 0JG"
],
"maxItems": 10
}

A larger pull:

{
"postcodes": [
"SW1A 1AA",
"EC1A 1BB",
"M32 0JG"
],
"maxItems": 200
}

Pricing

Pay-per-result: $0.005 per result collected. You pay only for the results written to your dataset.

Results collectedApproximate cost
100 results$0.50
1,000 results$5.00
10,000 results$50.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the Postcodes.io UK Postcode Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to Postcodes.io through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

$claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/postcodes-io-uk-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check that you entered valid UK postcodes in the input. If you left the input empty, the Actor should fetch random postcodes, so also check that the maximum postcodes is set to at least 1.

Why did the run stop before reaching my maximum?

Postcodes.io may have rate limits or the random endpoint may return fewer postcodes than requested. Try running again or reduce the maximum.

Why are some postcodes missing from the output?

Invalid or terminated postcodes may not return data. Check the input list for typos or outdated postcodes.

Can I get more fields than what is shown?

The Actor returns all fields provided by the Postcodes.io API for each postcode. If a field is missing, the API may not have data for that postcode.

FAQ

QuestionAnswer
Do I need an API key for Postcodes.io?No. Postcodes.io is a free, open-data API and does not require registration or an API key.
How many postcodes can I scrape in one run?You can set the maximum postcodes field up to 1,000,000 per run. The Actor will stop once it reaches that number.
What if I leave the postcodes input empty?The Actor will fetch a random sample of postcodes from Postcodes.io, up to the maximum you set.
What data comes back for each postcode?Each row includes the postcode, latitude, longitude, and administrative areas like ward, district, and county, plus other fields returned by the API.
Can I export the results to CSV?Yes. The Actor outputs a flat dataset that you can export to CSV, JSON, Excel, or XML from the Apify platform.
Is this the official Postcodes.io API?Yes, this Actor calls the public Postcodes.io API endpoints and returns the data in a structured format.
Does this work for postcodes outside the UK?No. Postcodes.io only covers UK postcodes. For other countries, you would need a different geocoding service.
Can I look up terminated postcodes?Postcodes.io includes some terminated postcodes, but the Actor returns whatever the API provides for your input.
How fast is the scraping?The Actor makes requests to Postcodes.io as quickly as the API allows, and you can control the total number of postcodes per run.
What if a postcode is invalid?The API returns an error for invalid postcodes, and the Actor will skip them or record the error depending on the response.

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Postcodes.io. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.