Postcodes.io UK Postcode Scraper
Pricing
from $4.52 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
14 days ago
Last modified
Categories
Share
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 it | What they scrape Postcodes.io for |
|---|---|
| Market researchers | Mapping customer postcodes to regions for demographic analysis |
| Logistics planners | Geocoding delivery postcodes to optimize routes |
| Data analysts | Enriching CRM records with accurate postcode geography |
| Real estate professionals | Checking postcode boundaries for property listings |
| App developers | Testing 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 key | Postcodes.io is open data, so you can start scraping immediately |
| Bulk and random | Look up specific postcodes or pull a random sample for testing |
| Geocoding included | Latitude and longitude come back with every postcode |
| Flat schema | One 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 Scraper | Build it in-house | By hand | |
|---|---|---|---|
| Setup | Run it now, zero config | Days of engineering | None, but hours per pull |
| When Postcodes.io changes | Maintained for you | You fix it | You re-learn the page |
| Proxies, retries, anti-bot | Built in | Your problem | Browser only |
| Output | Fixed JSON schema, CSV/Excel export | Whatever you build | Copy-paste |
| Cost | Pay per result | Engineering time | Analyst 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 collected | Approximate 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
- Create a free Apify account with $5 in credit.
- Open the Postcodes.io UK Postcode Scraper.
- Set your inputs and any filters, then click Start.
- 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
| Question | Answer |
|---|---|
| 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. |
Related actors
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.
