
Python Developer for UK Council Planning Portal Scraper
- or -
Post a project like this29
£400(approx. $537)
- Posted:
- Proposals: 8
- Remote
- #4515720
- OPPORTUNITY
- Open for Proposals
WordPress & Shopify Developer | AI Chatbot Automation Expert | Web Scraping | Automation | Data Extraction | Python
Web Developer| Architecture CAD 3D Specialist| AI Automation & Technical Solution Expert


Product & software engineering (12 yrs) on Web, Mobile & AI | 40-member in-house team | UK & EU focused


Full-Stack WordPress Developer | Figma UI/UX Designer | Elementor Pro & WooCommerce Expert | SEO, PPC & Google Ads Specialist | Meta Ads | GA4 & GTM | Speed Optimization

10749830122754551189222850415916329178764279458382746752
Description
Experience Level: Expert
I run an architectural practice in the UK. We are looking for an experienced Python developer to build a robust internal tool (MVP) that automates our planning precedent research.
The goal is to scrape planning application data from two UK council portals (Hillingdon and Three Rivers). Both councils use variations of the standard Idox Public Access system.
The Required Workflow:
Navigate & Search: The script needs to bypass standard cookie banners and menus, navigate the planning portal, and search for a specific Application Reference or Street Name.
Data Extraction: Extract structured details (Reference, Address, Proposal Description, Decision Status, Decision Date).
Smart Document Handling (Crucial): Navigate to the "Documents" tab (often inside an iframe) and do the following:
Download: Physically download ONLY the "Officer's Report" and "Decision Notice" PDFs (bypassing the browser's PDF viewer).
Link Only: For all other documents (especially Architectural Drawings and Plans), do NOT download them. Instead, extract the direct URL/link to the document.
Database Integration: Push the structured data to our database (Airtable via API). Securely upload the downloaded Officer's Reports as file attachments, and paste the direct URLs for the drawings into a separate column.
Crucial Technical Challenges (Please read before bidding):
We have attempted a basic Playwright script but hit several anti-scraping and structural barriers. Your solution must cleanly handle:
Nested Iframes: The document lists are contained within an idox-iframe.
File Interception: Bypassing standard browser PDF rendering by pulling the raw file stream directly using session requests/cookies (to avoid Target closed exceptions).
Session Management & Politeness: Handling potential rate limits or dynamic ID changes. The scraper must be programmed to run politely (rate-limited) to respect council server loads.
Deliverables:
Clean, documented Python code (using Playwright, Scrapy, or Requests/BeautifulSoup).
API integration that pushes the structured data, uploads the specific PDFs, and saves the URLs to our Airtable base.
Simple instructions for running the script locally or setting it up on a basic schedule (cron job/cloud function).
Please answer the following in your bid:
Have you successfully scraped UK Council Idox systems or similar public portals before?
How will you prevent the browser's PDF viewer from intercepting the file download for the Officer's Reports?
What is your estimated timeline and cost for this MVP?
The goal is to scrape planning application data from two UK council portals (Hillingdon and Three Rivers). Both councils use variations of the standard Idox Public Access system.
The Required Workflow:
Navigate & Search: The script needs to bypass standard cookie banners and menus, navigate the planning portal, and search for a specific Application Reference or Street Name.
Data Extraction: Extract structured details (Reference, Address, Proposal Description, Decision Status, Decision Date).
Smart Document Handling (Crucial): Navigate to the "Documents" tab (often inside an iframe) and do the following:
Download: Physically download ONLY the "Officer's Report" and "Decision Notice" PDFs (bypassing the browser's PDF viewer).
Link Only: For all other documents (especially Architectural Drawings and Plans), do NOT download them. Instead, extract the direct URL/link to the document.
Database Integration: Push the structured data to our database (Airtable via API). Securely upload the downloaded Officer's Reports as file attachments, and paste the direct URLs for the drawings into a separate column.
Crucial Technical Challenges (Please read before bidding):
We have attempted a basic Playwright script but hit several anti-scraping and structural barriers. Your solution must cleanly handle:
Nested Iframes: The document lists are contained within an idox-iframe.
File Interception: Bypassing standard browser PDF rendering by pulling the raw file stream directly using session requests/cookies (to avoid Target closed exceptions).
Session Management & Politeness: Handling potential rate limits or dynamic ID changes. The scraper must be programmed to run politely (rate-limited) to respect council server loads.
Deliverables:
Clean, documented Python code (using Playwright, Scrapy, or Requests/BeautifulSoup).
API integration that pushes the structured data, uploads the specific PDFs, and saves the URLs to our Airtable base.
Simple instructions for running the script locally or setting it up on a basic schedule (cron job/cloud function).
Please answer the following in your bid:
Have you successfully scraped UK Council Idox systems or similar public portals before?
How will you prevent the browser's PDF viewer from intercepting the file download for the Officer's Reports?
What is your estimated timeline and cost for this MVP?
Jag B.
99% (78)Projects Completed
31
Freelancers worked with
28
Projects awarded
16%
Last project
5 Jul 2026
United Kingdom
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies