{"id":32148842,"url":"https://github.com/mapbox/mapbox-search-ios","last_synced_at":"2026-03-04T16:03:09.631Z","repository":{"id":38356976,"uuid":"307961783","full_name":"mapbox/mapbox-search-ios","owner":"mapbox","description":"Search SDK for iOS with preconfigured UI in Swift","archived":false,"fork":false,"pushed_at":"2026-02-25T10:45:05.000Z","size":160942,"stargazers_count":27,"open_issues_count":16,"forks_count":28,"subscribers_count":83,"default_branch":"main","last_synced_at":"2026-02-25T13:22:53.317Z","etag":null,"topics":["in-scope","priority"],"latest_commit_sha":null,"homepage":"https://docs.mapbox.com/ios/search/guides/","language":"Swift","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mapbox.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2020-10-28T09:10:07.000Z","updated_at":"2026-02-25T10:45:08.000Z","dependencies_parsed_at":"2025-04-18T10:52:35.105Z","dependency_job_id":"be41e5f0-5e87-44bc-9fe0-e9440d5c038b","html_url":"https://github.com/mapbox/mapbox-search-ios","commit_stats":null,"previous_names":[],"tags_count":153,"template":false,"template_full_name":null,"purl":"pkg:github/mapbox/mapbox-search-ios","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmapbox-search-ios","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmapbox-search-ios/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmapbox-search-ios/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmapbox-search-ios/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mapbox","download_url":"https://codeload.github.com/mapbox/mapbox-search-ios/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mapbox%2Fmapbox-search-ios/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30085831,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T15:40:14.053Z","status":"ssl_error","status_checked_at":"2026-03-04T15:40:13.655Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["in-scope","priority"],"created_at":"2025-10-21T09:15:25.367Z","updated_at":"2026-03-04T16:03:09.611Z","avatar_url":"https://github.com/mapbox.png","language":"Swift","readme":"[![CircleCI](https://dl.circleci.com/status-badge/img/gh/mapbox/mapbox-search-ios/tree/main.svg?style=shield)](https://dl.circleci.com/status-badge/redirect/gh/mapbox/mapbox-search-ios/tree/main)\n[![Swift version](https://img.shields.io/badge/swift-5.9+-orange.svg?style=flat\u0026logo=swift)](https://developer.apple.com/swift)\n[![iOS version](https://img.shields.io/badge/iOS-12.0+-green.svg?style=flat\u0026logo=apple)](https://developer.apple.com/ios/)\n[![Xcode version](https://img.shields.io/badge/Xcode-16.0+-DeepSkyBlue.svg?style=flat\u0026logo=xcode\u0026logoColor=lightGray)](https://developer.apple.com/xcode/)\n[![swift-doc](https://img.shields.io/badge/swift--doc-64.94%25-orange?logo=read-the-docs)](https://github.com/SwiftDocOrg/swift-doc)\n# Mapbox Search SDK for iOS\n\n[![Latest Pre-Release](https://img.shields.io/github/v/release/mapbox/mapbox-search-ios?include_prereleases\u0026label=Pre-release)](https://github.com/mapbox/mapbox-search-ios/releases)\n\n[![Latest Release](https://img.shields.io/github/v/release/mapbox/mapbox-search-ios)](https://github.com/mapbox/mapbox-search-ios/releases)\n\n# Table of contents\n\n- [Overview](#overview)\n- [Documentation](#documentation)\n- [Requirements](#requirements)\n- [Main features](#main-features)\n- [Getting Started](#getting-started)\n- [Contributing](#contributing)\n- [Code of Conduct](#code-of-conduct)\n- [Versioning](#versioning)\n\n# Overview\n\nThe Mapbox Search SDK is a developer toolkit to add location search on mobile devices.\nWith the same speed and scale of the Mapbox Search API, the SDK is built specifically for on-demand and local search use cases, like ride-share, food delivery, and store finders apps.\nWhether your users are trying to find a place among the vast amount of data on a global map, or to find the exact location of a venue a few miles down the road, the Search SDK provides location search for countries all over the globe, in many different languages.\n\nPreviously, implementing search into your application required custom tuning with every API request to set a language, location biasing, and result types.\nThere was no pre-built UI and no option for a user to see their search history, or save favorites.\n\nThe Mapbox Search SDK allows you to drop pre-tuned search into your application, removing the complexity of API configuration, while still giving you control to customize.\nIt ships with an optional UI framework, or you can build a completely custom implementation with your own UI elements by using the core library.\nThe Search SDK is pre-configured for autocomplete, local search biasing, and includes new features like category search, search history, and search favorites.\n\n## Documentation\n\nYou can find more documentation at docs.mapbox.com:\n\n- [iOS Search SDK Guides](https://docs.mapbox.com/ios/search/guides/)\n- [iOS Search SDK Examples](https://docs.mapbox.com/ios/search/examples/)\n- [iOS Search SDK API Reference](https://docs.mapbox.com/ios/search/api-reference/)\n\n## Requirements\n\n- iOS 12.0 and newer\n- Xcode 16.0 and newer\n- Swift 5.9 and newer\n- Objective-C is not supported\n- macOS/tvOS/watchOS platforms currently are not supported\n\n## Main features\n\n- Easy-to-use pre-tuned search options to integrate search into your app quickly.\n  - Local search for a specific address or POI\n- Pre-configured and customizable category search for popular categories like cafes, ATMs, hotels, and gas stations.\n- On-device user search history\n- On-device favorites\n- Import/export customer data with your own protocols\n- Provide you own persistent providers for customer data like History or Favorites\n\n## Getting Started\n\nYou can install MapboxSearch and/or MapboxSearchUI packages with Swift Package Manager and Cocoapods. Swift Package Manage is our preferred distribution system.\n\n## Installation\n\n### Private token configuration\n\nTo download the SDK you will need to configure a [private token](https://docs.mapbox.com/help/dive-deeper/access-tokens/#secret-tokens). This token is required for every supported distribution system.\n\n1. Go to your [Mapbox account dashboard](https://account.mapbox.com/) and create an access token that has the `DOWNLOADS:READ` scope. **PLEASE NOTE: This is not the same as your production Mapbox API token. Make sure to keep it private and do not insert it into any Info.plist file.**\n1. Create a file named `.netrc` in your home directory (`$HOME/.netrc`, e.g. `/Users/username/.netrc`) if it doesn’t already exist, then add the following lines to the end of the file:\n   ```\n   machine api.mapbox.com\n     login mapbox\n     password PRIVATE_MAPBOX_API_TOKEN\n   ```\n   where _PRIVATE_MAPBOX_API_TOKEN_ is your Mapbox API token with the `DOWNLOADS:READ` scope.\n\n### Swift Package Manager\n\nAdd the MapboxSearch dependency to your Package.swift or use the Xcode \u003e Project settings \u003e Package Dependencies tab.\n```swift\ndependencies: [\n    .package(url: \"https://github.com/mapbox/mapbox-search-ios.git\")\n]\n```\n\n### Cocoapods\n\n#### MapboxSearch\nTo integrate latest pre-release version of `MapboxSearch` into your Xcode project using CocoaPods, specify it in your `Podfile`:\n```\npod 'MapboxSearch', \"\u003e= 2.17.0\", \"\u003c 3.0\"\n```\n\n#### MapboxSearchUI\nTo integrate latest pre-release version of `MapboxSearchUI` into your Xcode project using CocoaPods, specify it in your `Podfile`:\n```\npod 'MapboxSearchUI', \"\u003e= 2.17.0\", \"\u003c 3.0\"\n```\n\n## Contributing\n\nWe welcome feedback and code contributions!\n\nIf you found a bug or want to request a feature [open a github issue](https://github.com/mapbox/mapbox-search-ios/issues). Please use the appropriate issue template.\n\n### Development\n\n1. Check that Homebrew is installed by running `brew -v`. If you don't have Homebrew, [install before proceeding.](https://brew.sh/)\n1. Update Homebrew data to install latest tools versions:\n    - `brew update \u0026\u0026 brew bundle install`\n1. Set up .netrc file for sdk registry access\n    1. Create .netrc file in user home directory (`$HOME/.netrc`, e.g. `/Users/victorprivalov/.netrc`)\n    2. File content:\n    ```\n    machine api.mapbox.com\n    login mapbox\n    password sk.ey_Your_Access_Token_With_Read_permission\n    ```\n1. Set up commit hooks with\n    `./scripts/install_git_hooks`\n1. Build dependencies:\n    `make dependencies`\n1. Mapbox APIs require a Mapbox account and access token. Get an access token from the [Mapbox account page](https://account.mapbox.com/access-tokens/). To run a Demo you can provide a token in different ways:\n    1. Create a new file named `mapbox` or `.mapbox` in your home directory with content of your access token. We also support `.mapbox` file in the repository root folder. MapboxSearchDemoApplication will automatically handle this key and insert it in corresponding place.\n    1. Open the Workspace, choose `MapboxSearchDemoApplication` project and select \"Info\" tab for \"MapboxSearchDemoApplication\" target. Here you may set your accessToken for `MBXAccessToken` key in \"Custom iOS Target Properties\" section.\n1. Alternatively, you could provide your accessToken as a parameter to `SearchEngine.init` and other initializers that accept an `accessToken` parameter. Use this approach to deliver your key dynamically and implement a key rotation schedule.\n\n## Code of Conduct\n\n### Our Standards\n\nExamples of behavior that contributes to creating a positive environment include:\n\n- Using welcoming and inclusive language.\n- Being respectful of differing viewpoints and experiences.\n- Gracefully accepting constructive criticism.\n- Focusing on what is best for the community.\n- Showing empathy towards other community members.\n\nWe recommend reading [this blog post from Github on writing great PRs.](https://github.blog/2015-01-21-how-to-write-the-perfect-pull-request/).\n\n# Versioning\n\nWe use [SemVer](http://semver.org/) for versioning. For the versions available, see the [tags on repository](https://github.com/mapbox/mapbox-search-ios/tags).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbox%2Fmapbox-search-ios","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmapbox%2Fmapbox-search-ios","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmapbox%2Fmapbox-search-ios/lists"}