reteps / redfin

A Python wrapper around redfin's unofficial API.
MIT License
106 stars 40 forks source link

Future of the module #4

Open reteps opened 3 years ago

reteps commented 3 years ago

Want to turn this module fully automatic, need some time to do it though.

[
  {
    "urlPath": "/stingray/do/api-get-header-user-menu",
    "method": "GET",
    "queryParams": [],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/initialInfo",
    "method": "GET",
    "queryParams": [
      {
        "path": "/MI/Detroit/4544-Radnor-St-48224/home/60973374"
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/v1/pagetagsinfo",
    "method": "GET",
    "queryParams": [
      {
        "path": "/MI/Detroit/4544-Radnor-St-48224/home/60973374"
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/primaryRegionInfo",
    "method": "GET",
    "queryParams": [
      {
        "path": "/MI/Detroit/4544-Radnor-St-48224/home/60973374"
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/corvair/v2/userData",
    "method": "GET",
    "queryParams": [],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/aboveTheFold",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/listing/floorplans",
    "method": "GET",
    "queryParams": [
      {
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/belowTheFold",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811,
        "pageType": 5
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/mainHouseInfoPanelInfo",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/banner-data/p1",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/avm",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/descriptiveParagraph",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/tourInsights",
    "method": "GET",
    "queryParams": [
      {
        "listingId": 124921811,
        "propertyId": 60973374,
        "accessLevel": 1,
        "pageType": 5
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/neighborhoodStats/statsInfo",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811,
        "regionId": 20559,
        "regionTypeId": 2
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/hood-photos",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/similars/listings",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811,
        "marketId": 29
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/similars/solds",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811,
        "marketId": 29
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/moreResourcesInfo",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/propertyParcelInfo",
    "method": "GET",
    "queryParams": [
      {
        "listingId": 124921811,
        "propertyId": 60973374,
        "accessLevel": 1,
        "pageType": 5
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/do/parcelstream/?sslAcct=true",
    "method": "GET",
    "queryParams": [],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/activityInfo",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/do/api/requirements",
    "method": "GET",
    "queryParams": [
      {
        "dataSourceId": 144,
        "requirementsContext": 1
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/homeDetailsPageHeaderInfo",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/rental-estimate",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/region/shared-region-info",
    "method": "GET",
    "queryParams": [
      {
        "tableId": 20559,
        "regionTypeId": 2,
        "mapPageTypeId": 1
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/customerConversionInfo/onMarket",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "accessLevel": 1,
        "listingId": 124921811,
        "pageType": 5
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/building/details-page/v1",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/do/tourlist/v7/getDatePickerData",
    "method": "GET",
    "queryParams": [
      {
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/commute/commuteInfo",
    "method": "GET",
    "queryParams": [
      {
        "listingId": 124921811,
        "propertyId": 60973374,
        "accessLevel": 1,
        "pageType": 5
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/popularityInfo",
    "method": "GET",
    "queryParams": [
      {
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/priceDropInfo",
    "method": "GET",
    "queryParams": [
      {
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/customerConversionInfo/promptEligibility",
    "method": "GET",
    "queryParams": [
      {
        "propertyId": 60973374,
        "listingId": 124921811
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/do/qualaroo/postTour",
    "method": "GET",
    "queryParams": [],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/mortgageCalcClaimedHomesInfo",
    "method": "GET",
    "queryParams": [],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/avmHistoricalData",
    "method": "GET",
    "queryParams": [
      {
        "listingId": 124921811,
        "propertyId": 60973374,
        "accessLevel": 1
      }
    ],
    "postParams": null,
    "type": "json"
  },
  {
    "urlPath": "/stingray/api/home/details/flood/floodInfoLocId",
    "method": "GET",
    "queryParams": [
      {
        "locId": "US_26_163_21078221."
      }
    ],
    "postParams": null,
    "type": "json"
  }
]
jose-guevarra commented 3 years ago

How stable do you think this "unofficial" API will be? Any chance they disable it due to high activity?

reteps commented 3 years ago

No idea.

ifeLawal commented 3 years ago

By turning the module fully automatic do you mean creating documentation of the API's return and usage? If so I might recommend swagger or something like it? https://github.com/OAI/OpenAPI-Specification/blob/main/versions/2.0.md

I've never set it up myself sadly, a senior dev at my workplace used it for documenting our API though

reteps commented 3 years ago

I mean downloading this json spec, and creating the module based on the file.

shawalli commented 2 years ago

With Hacktoberfest coming up, is there anything you'd like help on?

reteps commented 2 years ago

@shawalli Have not looked at this module in a while. Two things:

  1. automatic documentation generation, as suggested by @ifeLawal
  2. automatic API creation. I posted a file providing the schema for every redfin API route. If someone could locate that file, and rewrite the API to be based off this file
DCUP13 commented 11 months ago

How stable do you think this "unofficial" API will be? Any chance they disable it due to high activity?

They'd only be able to block your ip address if they didn't want to rewrite their api. I guess just throttle your requests