{"id":15576220,"url":"https://github.com/ct83/re-searcher-api","last_synced_at":"2025-08-25T07:32:49.670Z","repository":{"id":107564905,"uuid":"288653125","full_name":"CT83/Re-Searcher-API","owner":"CT83","description":null,"archived":false,"fork":false,"pushed_at":"2020-09-03T17:16:03.000Z","size":470,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-02T18:19:46.035Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CT83.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-19T06:33:37.000Z","updated_at":"2020-09-03T17:16:06.000Z","dependencies_parsed_at":"2023-06-08T12:30:55.917Z","dependency_job_id":null,"html_url":"https://github.com/CT83/Re-Searcher-API","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CT83/Re-Searcher-API","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CT83%2FRe-Searcher-API","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CT83%2FRe-Searcher-API/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CT83%2FRe-Searcher-API/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CT83%2FRe-Searcher-API/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CT83","download_url":"https://codeload.github.com/CT83/Re-Searcher-API/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CT83%2FRe-Searcher-API/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":272024540,"owners_count":24860528,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-25T02:00:12.092Z","response_time":1107,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-10-02T18:43:53.398Z","updated_at":"2025-08-25T07:32:49.617Z","avatar_url":"https://github.com/CT83.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Re-Searcher-API\nThis is an App to cache the search results made by APIs. \n\n## Setup - Development   \n* Setup `.env` file, refer `.env.example` \n* `docker-compose up --build -d`\n\n\n## Setup - Production  \n* Setup `.prod-env` file, refer `.prod-env.example`\n* `docker-compose -f docker-compose-prod.yml up --build -d`\n\n## How to Use?  \n\n* `curl -d '{\"query\": \"Pink Car\",\"engine\": \"bing\"}' -X POST http://localhost/api/search  -H \"Content-Type: application/json\"`\n\n## API Reference Docs\n#### 1. Search - http://localhost/api/search\n\n##### Request - GET\n/search?query=\u003cThe Search Query\u003e \n\n##### Reponse \n`{\n    \"search_res\": [\n        {\n            \"url\": \"https://unsplash.com/s/photos/pink-car\",\n            \"name\": \"Pink Car Pictures | Download Free Images on Unsplash\"\n        }...]\n}`\n\n\n## AWS Setup\n\n1. No manual setup is required on AWS, you only need to supply the correct *Key \u0026 Secret tokens* in the *.prod-env* for the user\nwho has the \"AmazonDynamoDBFullAccess\" permission.\n\n2. Then the results are automatically written to the DynamoDB Table. \n\n3. The table is automatically created on AWS DynamoDB if it does not already exist. \n`Check models.utils.init_tables`\n\n### Screenshots\nHere are some screenshots on how to create a new AWS User\n\n![](./images/aws1.png)\n![](./images/aws2.png)\n![](./images/aws3.png)\n![](./images/aws4.png)\n\n## Screenshots\n\n![](./images/curl.jpg)\n\n* CURL - Git Bash\n\n![](./images/dockerps.jpg)\n\n* Docker PS\n\n## Appendix\n\n### Supported Engines\n1. Bing API - This allows us to programmatically return search results from Bing\n   \n    Sample `{\n            \"query\": \"Pink Car\",\n            \"engine\": \"bing\"\n        }`\n    \n    Read More \n    * https://azure.microsoft.com/en-in/services/cognitive-services/bing-web-search-api/\n    * https://docs.microsoft.com/en-us/azure/cognitive-services/bing-web-search/\n\n2. Mock API - This returns random strong and random urls, very useful for testing.   \n        \n    Sample `{\n            \"query\": \"Pink Car\",\n            \"engine\": \"mock\"\n        }`\n    \n    Read More \n    * `app.search_api.mock_search.MockSearch`  \n    \n\nFactory allows us to add even more backends easily. - `api/app/search_api/factory.py `\n\n### Snippets \n\n* `docker-compose down \u0026\u0026 docker-compose up --build -d \u0026\u0026 docker-compose logs --follow`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fct83%2Fre-searcher-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fct83%2Fre-searcher-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fct83%2Fre-searcher-api/lists"}