https://github.com/icaroponce/appstore
Itunes app store scraper developed in Elixir
https://github.com/icaroponce/appstore
apple-store apps appstore elixir itunes
Last synced: 4 months ago
JSON representation
Itunes app store scraper developed in Elixir
- Host: GitHub
- URL: https://github.com/icaroponce/appstore
- Owner: icaroponce
- License: mit
- Created: 2017-06-07T00:45:15.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2017-06-20T01:56:03.000Z (about 9 years ago)
- Last Synced: 2025-12-02T06:56:11.823Z (7 months ago)
- Topics: apple-store, apps, appstore, elixir, itunes
- Language: Elixir
- Size: 15.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Appstore
Elixir module to scrape data from Itunes App Store.
Gradually porting it from [`app-store-scraper`](https://github.com/facundoolano/app-store-scraper) NodeJS module.
## Installation
First, add `appstore` to your list of dependencies in `mix.exs`:
```elixir
def deps do
[{:appstore, "~> 0.2.0"}]
end
```
and run `$ mix deps.get`
## Usage
Available modules:
### App
Handles API calls directly related to an application.
#### get_details
Retrieves the full detail of an application. Options:
- `bundleId`: the Itunes bundleId. This parameter must be provided.
- `country`: the two letter country code to get the app from. Defaults to `us`.
Example:
```elixir
{:ok, app} = AppStore.App.get_details "com.midasplayer.apps.candycrushsaga"
app.sellerName
#"King.com Limitied"
```
### Search
Allow users to search throughout App Store.
#### by_keyword
Retrieves a list of apps searched by a given term.
Method Signature: `by_keyword(term, device, num, country)`
Options:
- `term`: a term to search for. Required.
- `device`: a device to filter for. Defaults to `software`, which brings all devices. Other options are `iPadSoftware` and `macSoftware`.
- `num`: the quantity of apps to be retrieved. Defaults to `50`. Max should be `250`, there's no validation so far, though. (`TODO`).
- `country`: the two letter country code to get the list from. Defaults to `us`.
Example:
```elixir
{:ok, apps} = AppStore.Search.by_keyword("deutschland", "software", 20, "de")
apps
#[ {...}, {...} ] a list of apps.
```
## Contributing
This module is quite new, and there's a lot to be improved and implemented.
I intend to put here on docs a complete todo list soon, but meanwhile I don't do this, check out the [`app-store-scraper`](https://github.com/facundoolano/app-store-scraper) to have a good reference and idea of what the module should offer.
Feel free to fork it, enhance and send a PR.