Skip to content

Add Immoscout shape search#277

Draft
Pr0mises wants to merge 8 commits intoorangecoding:masterfrom
Pr0mises:immoscout-shape
Draft

Add Immoscout shape search#277
Pr0mises wants to merge 8 commits intoorangecoding:masterfrom
Pr0mises:immoscout-shape

Conversation

@Pr0mises
Copy link
Contributor

This will add the ability to use the immoscout shapes.

Copy link
Owner

@orangecoding orangecoding left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Only a minor request

@Pr0mises
Copy link
Contributor Author

Pr0mises commented Mar 11, 2026

I did some additional testing around the sorting parameter and noticed an inconsistency between the web UI and the mobile API. In the web URLs, sorting is still passed as a numeric code (1-8), where each number maps to a fixed sort mode in the mobile API. When using radius or geocode searches, the mobile API still accepts these numeric values. However, for shape searches this no longer seems to be the case. The native mobile app does not send numeric sorting codes at all anymore, but uses named sort keys instead.

I'll do a list and will create another PR or if it's fine, I'll add it to this PR. I'd also update the UserAgent

@orangecoding
Copy link
Owner

I did some additional testing around the sorting parameter and noticed an inconsistency between the web UI and the mobile API. In the web URLs, sorting is still passed as a numeric code (1–8), where each number maps to a fixed sort mode in the mobile API. When using radius or geocode searches, the mobile API still accepts these numeric values. However, for shape searches this no longer seems to be the case. The native mobile app does not send numeric sorting codes at all anymore, but uses named sort keys instead.

I'll do a list and will create another PR or if it's fine, I'll add it to this PR

Tbh their api design is questionable to say the least.

I've seen additional problems by the way, see:

$ prettier --check "**/*.js"
Checking formatting...
[warn] lib/services/immoscout/immoscout-web-translator.js
[warn] test/services/immoscout/immoscout-web-translator.test.js
[warn] Code style issues found in 2 files. Run Prettier with --write to fix.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Error: Process completed with exit code 1.

Also, when done, can you update the reverse-engineered-immoscout.md to include your latest params/findings? Thanks a ton!

@Pr0mises
Copy link
Contributor Author

I hoped I didn't mess with the formatting. I've no real experience with yarn, but I'll try to figure out how to get it prettified

@orangecoding
Copy link
Owner

I hoped I didn't mess with the formatting. I've no real experience with yarn, but I'll try to figure out how to get it prettified

There are scripts to run the longer and formatter in package.json

@Pr0mises
Copy link
Contributor Author

I think I managed to fix the formatting but keep the PR open as of now.
I looked a bit more into the code, and it seems like you always append sorting=-firstactivation to the base mobileapi, which means we should delete the sorting parameter which was used inside the web-url shouldn't we?
I'm not sure why it's working for radius in the first place, but it doesn't really matter as it always sorts for newest first, if I didn't misread the code. Please correct me if I'm wrong.

I would just delete the sorting parameter within the web-translate.js if that's fine.
For even more parameters I found their api documentation. The first glance looks like it's exactly the one which is used for the mobile app:
https://api.immobilienscout24.de/api-docs/search/realestate-specific-parameters/
https://api.immobilienscout24.de/api-docs/search/query-parameters/
https://api.immobilienscout24.de/api-docs/search/sorting-parameter/

@Pr0mises Pr0mises marked this pull request as draft March 12, 2026 21:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants