Python Data Engineer / ETL Developer for Real Estate Intelligence Platform

Please login or register as jobseeker to apply for this job.

TYPE OF WORK

Full Time

WAGE / SALARY

$600-$800

HOURS PER WEEK

40

DATE UPDATED

Jun 8, 2026

JOB OVERVIEW

We are building a real estate intelligence platform focused on New York City property data, property owners, CRM history, contacts, public records, lead scoring, and opportunity detection.

This is not a simple Excel cleanup job.
We need a serious Python Data Engineer / ETL Developer who can help us turn large real estate datasets into a clean, structured database that will power our internal software platform.

What We Are Building
We are building something between FreedomSoft, PropertyShark, GoHighLevel, and CREXi.
The system will organize:
Property profiles
Owner / company profiles
Phone and email contact points
CRM notes and follow-up history
Public record data
Source trace
Relationship mapping
Lead scoring
Opportunity queues
Future AI and automation

Responsibilities
Work with large CSV / Excel files
Clean and normalize real estate data
Build Python ETL pipelines
Import data into PostgreSQL
Create relationships between properties, owners, companies, contacts, and CRM activity
Build deduplication and merge logic
Build source trace logic
Build data quality reports
Help prepare data for dashboard, APIs, and future public records integrations
Work closely with our technical lead

Required Skills
Python
Pandas
PostgreSQL
CSV / Excel processing
ETL pipelines
Data cleaning
REST API experience
Strong attention to detail
Ability to work with large datasets
Bonus Skills
Real estate data experience
NYC property data experience
NYC Open Data / Socrata API
ACRIS
DOB permits / violations
PLUTO / MapPLUTO
Address normalization
Entity resolution / deduplication

Ideal Candidate
You are detail-oriented, reliable, and able to think through messy data carefully.
You do not just write scripts. You understand that clean data needs to support a real business system.


How to Apply

Please send:
Your experience with Python and data engineering
Examples of similar data projects
Your PostgreSQL experience
Your experience with real estate or public data, if any
Your hourly rate or monthly salary expectation
Your availability
Your preferred working hours
Your WhatsApp / email / contact info
A short explanation of how you would approach this project

We are looking for a long-term tea ---------- mber, not a one-time freelancer.

SKILL REQUIREMENT
VIEW OTHER JOB POSTS FROM:
SHARE THIS POST
facebook linkedin
  BENCHMARKS  
Loading Time: Base Classes  0.0008
Controller Execution Time ( Jobseekers / Job )  0.0275
Total Execution Time  0.0289
  GET DATA  
No GET data exists
  MEMORY USAGE  
1,510,040 bytes
  POST DATA  
No POST data exists
  URI STRING  
jobseekers/job/Python-Data-Engineer-ETL-Developer-for-Real-Estate-Intelligence-Platform-1664300
  CLASS/METHOD  
jobseekers/job
  DATABASE:  onlinejobs (Jobseekers:$db)   QUERIES: 13 (0.0221 seconds)  (Hide)
0.0003   SELECT *
                                
FROM exrates
                                WHERE rate_name 
'USD-PHP' 
0.0003   SELECT *
FROM `employer_jobs`
WHERE `job_id` = 1664300
 LIMIT 1 
0.0003   SELECT *
FROM `employers`
WHERE `employer_id` = 842046
 LIMIT 1 
0.0108   SELECT COUNT(DISTINCT t.id) as cnt
FROM 
`t_thread` `t`
INNER JOIN `t_message` `mON `t`.`id` = `m`.`thread_id`
INNER JOIN `t_message_employer` `eON `m`.`id` = `e`.`message_id`
LEFT JOIN `t_thread_misc` `miscON `t`.`id` = `misc`.`thread_id`
WHERE `t`.`job_id` = 1664300
AND `misc`.`idIS NULL 
0.0004   SELECT e.business_namee.logoe.websitee.rebill_datee.date_added member_datehitsDATEDIFF('2026-06-20',ej.date_added) duration_daysDATEDIFF('2026-06-20',e.rebill_date) duration_rebillej.*, e.deactivate FROM employers eemployer_jobs ej WHERE e.employer_id ej.employer_id AND
                                   ((
e.user_level >= '500' AND ej.date_added <= e.rebill_date)
                                   OR 
e.employer_id '' OR (ej.date_approved <> '2000-01-01' and DATEDIFF('2026-06-20',ej.date_added) <= 14 ))
                                   AND 
e.deactivate != AND ej.deleted AND job_id '1664300' 
0.0002   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1664300 
0.0007   UPDATE employer_jobs SET hit_counts '***Jun-08-2026=128***Jun-09-2026=66***Jun-10-2026=24***Jun-11-2026=15***Jun-12-2026=7***Jun-13-2026=11***Jun-20-2026=1' WHERE job_id'1664300'  
0.0006   UPDATE employer_jobs SET monthly_hits '***Jun-2026=252' WHERE job_id'1664300'  
0.0013   SELECT date_sent FROM jobseeker_sent_emails WHERE jobseeker_id '' AND job_id '1664300' AND status LIKE 'sent%' ORDER BY id DESC  
0.0003   SELECT *
FROM `employer_jobs_skills` `ejs`
LEFT JOIN `skills_categories` `scON `ejs`.`skill_id` = `sc`.`id`
WHERE `job_id` = 1664300 
0.0063   SELECT COUNT(*) AS `numrows`
FROM `employer_jobs`
WHERE `employer_id` = '842046'
AND `date_added` >= '2022-06-08' 
0.0003   select from teasers 
0.0002   SELECT FROM skill_categories WHERE skill_cat_id='' 
  HTTP HEADERS  (Show)
  SESSION DATA  (Show)
  CONFIG VARIABLES  (Show)