├── src ├── App.css ├── keys.js ├── SearchEngine.png ├── StateProvider.js ├── reportWebVitals.js ├── index.css ├── reducer.js ├── App.js ├── useGoogleSearch.js ├── index.js ├── Home.js ├── Home.css ├── Search.js ├── Search.css ├── SearchPage.css ├── SearchPage.js └── response.js ├── public ├── robots.txt ├── favicon.ico ├── logo192.png ├── logo512.png ├── Search_Engine.png ├── images │ ├── search.png │ ├── filename.jpeg │ ├── searchenginehome.png │ └── searchenginesearch.png ├── manifest.json └── index.html ├── .gitignore ├── README.md └── package.json /src/App.css: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahendrasaikumargandham/SearchEngine/HEAD/public/favicon.ico -------------------------------------------------------------------------------- /public/logo192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahendrasaikumargandham/SearchEngine/HEAD/public/logo192.png -------------------------------------------------------------------------------- /public/logo512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahendrasaikumargandham/SearchEngine/HEAD/public/logo512.png -------------------------------------------------------------------------------- /src/keys.js: -------------------------------------------------------------------------------- 1 | export const API_KEY = "AIzaSyCZU30sduG5tF1Xukw3XtMOLDu6wu79ON8"; 2 | 3 | export default API_KEY -------------------------------------------------------------------------------- /src/SearchEngine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahendrasaikumargandham/SearchEngine/HEAD/src/SearchEngine.png -------------------------------------------------------------------------------- /public/Search_Engine.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahendrasaikumargandham/SearchEngine/HEAD/public/Search_Engine.png -------------------------------------------------------------------------------- /public/images/search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahendrasaikumargandham/SearchEngine/HEAD/public/images/search.png -------------------------------------------------------------------------------- /public/images/filename.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahendrasaikumargandham/SearchEngine/HEAD/public/images/filename.jpeg -------------------------------------------------------------------------------- /public/images/searchenginehome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahendrasaikumargandham/SearchEngine/HEAD/public/images/searchenginehome.png -------------------------------------------------------------------------------- /public/images/searchenginesearch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mahendrasaikumargandham/SearchEngine/HEAD/public/images/searchenginesearch.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /src/StateProvider.js: -------------------------------------------------------------------------------- 1 | import React, { createContext, useContext, useReducer } from 'react'; 2 | 3 | export const StateContext = createContext(); 4 | 5 | export const StateProvider = ({ reducer, initialState, children }) => ( 6 | 7 | {children} 8 | 9 | ); 10 | 11 | export const useStateValue = () => useContext(StateContext); 12 | -------------------------------------------------------------------------------- /src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /src/index.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | } 4 | 5 | body { 6 | margin: 0; 7 | font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 8 | 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', 9 | sans-serif; 10 | -webkit-font-smoothing: antialiased; 11 | -moz-osx-font-smoothing: grayscale; 12 | } 13 | 14 | code { 15 | font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New', 16 | monospace; 17 | } 18 | -------------------------------------------------------------------------------- /src/reducer.js: -------------------------------------------------------------------------------- 1 | export const initialState = { 2 | term: null, 3 | } 4 | 5 | export const actionTypes = { 6 | SET_SEARCH_TERM: "SET_SEARCH_TERM", 7 | } 8 | 9 | const reducer = (state, action) => { 10 | console.log(action); 11 | switch(action.type) { 12 | case actionTypes.SET_SEARCH_TERM: 13 | return { 14 | ...state, 15 | term: action.term, 16 | }; 17 | 18 | default: 19 | return state; 20 | } 21 | }; 22 | 23 | export default reducer; -------------------------------------------------------------------------------- /src/App.js: -------------------------------------------------------------------------------- 1 | import './App.css'; 2 | import Home from './Home'; 3 | import { BrowserRouter as Router, Switch, Route } from "react-router-dom"; 4 | import SearchPage from './SearchPage'; 5 | 6 | function App() { 7 | return ( 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | ); 21 | } 22 | 23 | export default App; 24 | -------------------------------------------------------------------------------- /public/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "short_name": "React App", 3 | "name": "Create React App Sample", 4 | "icons": [ 5 | { 6 | "src": "favicon.ico", 7 | "sizes": "64x64 32x32 24x24 16x16", 8 | "type": "image/x-icon" 9 | }, 10 | { 11 | "src": "logo192.png", 12 | "type": "image/png", 13 | "sizes": "192x192" 14 | }, 15 | { 16 | "src": "logo512.png", 17 | "type": "image/png", 18 | "sizes": "512x512" 19 | } 20 | ], 21 | "start_url": ".", 22 | "display": "standalone", 23 | "theme_color": "#000000", 24 | "background_color": "#ffffff" 25 | } 26 | -------------------------------------------------------------------------------- /src/useGoogleSearch.js: -------------------------------------------------------------------------------- 1 | import { useState , useEffect } from 'react'; 2 | import API_KEY from './keys'; 3 | 4 | const CONTEXT_KEY = "72659482cdae166a9"; 5 | 6 | const useGoogleSearch = (term) => { 7 | const [data, setData] = useState(null); 8 | 9 | useEffect(() => { 10 | const fetchData = async() => { 11 | fetch( 12 | `https://www.googleapis.com/customsearch/v1?key=${API_KEY}&cx=${CONTEXT_KEY}&q=${term}` 13 | ) 14 | .then(response => response.json()) 15 | .then(result => { 16 | setData(result) 17 | }) 18 | } 19 | 20 | fetchData(); 21 | }, [term]) 22 | 23 | return { data } 24 | } 25 | 26 | export default useGoogleSearch 27 | -------------------------------------------------------------------------------- /public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 14 | Search Engine -designed by Mahendra Gandham 15 | 16 | 17 | 18 |
19 | 20 | 21 | -------------------------------------------------------------------------------- /src/index.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import './index.css'; 4 | import App from './App'; 5 | import reportWebVitals from './reportWebVitals'; 6 | import reducer, { initialState } from "./reducer"; 7 | import { StateProvider } from "./StateProvider"; 8 | 9 | ReactDOM.render( 10 | 11 | 12 | 13 | 14 | , 15 | document.getElementById('root') 16 | ); 17 | 18 | // If you want to start measuring performance in your app, pass a function 19 | // to log results (for example: reportWebVitals(console.log)) 20 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals 21 | reportWebVitals(); 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

Search Engine using React🚀

2 |
Technologies Used: 3 | 7 |
8 | 9 | 10 |

To visit, Click Here

11 |

Fork the project and make your own search engine

12 |

Steps🪜

13 | 21 | 22 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "project-searchengine", 3 | "version": "0.1.0", 4 | "private": true, 5 | "dependencies": { 6 | "@emotion/react": "^11.5.0", 7 | "@emotion/styled": "^11.3.0", 8 | "@mui/icons-material": "^5.0.4", 9 | "@mui/material": "^5.0.4", 10 | "@testing-library/jest-dom": "^5.14.1", 11 | "@testing-library/react": "^11.2.7", 12 | "@testing-library/user-event": "^12.8.3", 13 | "react": "^17.0.2", 14 | "react-dom": "^17.0.2", 15 | "react-router-dom": "^5.3.0", 16 | "react-scripts": "4.0.3", 17 | "styled-components": "^5.3.1", 18 | "web-vitals": "^1.1.2" 19 | }, 20 | "scripts": { 21 | "start": "react-scripts start", 22 | "build": "react-scripts build", 23 | "test": "react-scripts test", 24 | "eject": "react-scripts eject" 25 | }, 26 | "eslintConfig": { 27 | "extends": [ 28 | "react-app", 29 | "react-app/jest" 30 | ] 31 | }, 32 | "browserslist": { 33 | "production": [ 34 | ">0.2%", 35 | "not dead", 36 | "not op_mini all" 37 | ], 38 | "development": [ 39 | "last 1 chrome version", 40 | "last 1 firefox version", 41 | "last 1 safari version" 42 | ] 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /src/Home.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import './Home.css'; 3 | import { Link } from "react-router-dom"; 4 | import Search from "./Search"; 5 | // import AppsIcon from '@mui/icons-material/Apps'; 6 | import AppsIcon from '@mui/icons-material/Apps'; 7 | import AccountCircleIcon from '@mui/icons-material/AccountCircle'; 8 | 9 | function Home() { 10 | return ( 11 |
12 |
13 |
14 | About 15 | Store 16 |
17 |
18 | Gmail 19 | Images 20 | 21 | 22 |
23 |
24 |
25 | 26 |
27 | 28 |
29 |
30 |
31 | ) 32 | } 33 | 34 | export default Home 35 | -------------------------------------------------------------------------------- /src/Home.css: -------------------------------------------------------------------------------- 1 | .home { 2 | display: flex; 3 | flex-direction: column; 4 | height: 100vh; 5 | } 6 | 7 | .home_header { 8 | display: flex; 9 | justify-content: space-between; 10 | padding: 20px 30px; 11 | align-items: center; 12 | } 13 | 14 | .home_header a { 15 | margin-right: 20px; 16 | text-decoration: inherit; 17 | color: #fff; 18 | font-size: 15px; 19 | } 20 | 21 | .home_header a:hover { 22 | text-decoration: underline; 23 | } 24 | 25 | .home_HeaderRight { 26 | display: flex; 27 | align-items: center; 28 | min-width: 13vw; 29 | justify-content: space-between; 30 | } 31 | 32 | .home_HeaderRight > .MuiSvgIcon-root { 33 | margin-right: 20px; 34 | } 35 | 36 | .home_body { 37 | flex: 1; 38 | display: flex; 39 | margin-top: 10%; 40 | flex-direction: column; 41 | } 42 | .home_body > img { 43 | object-fit: contain; 44 | height: 200px; 45 | width: 100%; 46 | } 47 | 48 | @media only screen and (max-width: 554px) { 49 | body { 50 | background-color: #ca2325; 51 | color: #fff; 52 | /* max-width: 100vw; */ 53 | } 54 | .home_header { 55 | position: absolute; 56 | top: 5px; 57 | }x 58 | .home_header a { 59 | color: #fff; 60 | margin: 11px; 61 | } 62 | .home_body { 63 | position: relative; 64 | top: 15%; 65 | } 66 | .home_body > img { 67 | top: 20%; 68 | } 69 | .home_HeaderRight { 70 | display: flex; 71 | align-items: center; 72 | min-width: 13vw; 73 | justify-content: space-between; 74 | } 75 | .home_HeaderRight > .MuiSvgIcon-root { 76 | margin-right: 20%; 77 | } 78 | .home_headerAvatar { 79 | visibility: hidden; 80 | } 81 | } -------------------------------------------------------------------------------- /src/Search.js: -------------------------------------------------------------------------------- 1 | import React, { useState } from 'react' 2 | import "./Search.css"; 3 | import SearchIcon from '@mui/icons-material/Search'; 4 | import MicIcon from '@mui/icons-material/Mic'; 5 | import { Button } from '@mui/material'; 6 | import { useHistory } from 'react-router'; 7 | import { useStateValue } from './StateProvider'; 8 | import { actionTypes } from './reducer'; 9 | 10 | function Search({ hideButtons = false }) { 11 | const [{_}, dispatch] = useStateValue(); 12 | const [input, setInput] = useState(""); 13 | const history = useHistory(); 14 | const search = e => { 15 | e.preventDefault(); 16 | dispatch({ 17 | type: actionTypes.SET_SEARCH_TERM, 18 | term: input 19 | }) 20 | 21 | history.push('/search') 22 | } 23 | console.log(_); 24 | return ( 25 |
26 |
27 | 28 | setInput(e.target.value)} /> 29 | 30 |
31 | {!hideButtons ? ( 32 |
33 | 34 | 35 |
36 | ): ( 37 |
38 | 39 | 40 |
41 | )} 42 | 43 |
44 | ) 45 | } 46 | 47 | export default Search 48 | -------------------------------------------------------------------------------- /src/Search.css: -------------------------------------------------------------------------------- 1 | .search_input { 2 | display: flex; 3 | align-items: center; 4 | border: 1px solid lightgray; 5 | height: 30px; 6 | padding: 10px 20px; 7 | border-radius: 999px; 8 | width: 75vw; 9 | margin: 0 auto; 10 | margin-top: 40px; 11 | max-width: 560px; 12 | } 13 | 14 | .search_input > input { 15 | flex: 1; 16 | background-color: #ca2325; 17 | padding: 10px 20px; 18 | border: none; 19 | font-size: medium; 20 | } 21 | 22 | .search_input > input:focus { 23 | outline: 0; 24 | color: #fff; 25 | /* border: 2px solid #ca2325; */ 26 | } 27 | 28 | .search_inputIcon { 29 | color: #fff; 30 | } 31 | 32 | .search_micIcon { 33 | color: gray; 34 | } 35 | 36 | .search_MicIcon { 37 | visibility: hidden; 38 | } 39 | 40 | .search_buttons { 41 | margin-top: 30px; 42 | display: flex; 43 | justify-content: center; 44 | } 45 | 46 | .search_buttons button { 47 | margin: 5px; 48 | padding: 7px 15px; 49 | background-color: #ca2325; 50 | border: 1px solid #fff; 51 | text-transform: inherit; 52 | color: #fff; 53 | } 54 | 55 | .search_buttons button:hover { 56 | box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1); 57 | border: 1px solid #c6c6c6; 58 | color: #ca2325; 59 | background-color: #f8f8f8; 60 | } 61 | 62 | .search_buttonsHidden { 63 | display: none !important; 64 | } 65 | 66 | @media only screen and (max-width: 554px) { 67 | body { 68 | background-color: #ca2325; 69 | color: #fff; 70 | } 71 | 72 | .search_input > input { 73 | background-color: #ca2325; 74 | color: #fff; 75 | padding-left: 7px; 76 | } 77 | .search_input { 78 | display: flex; 79 | align-items: center; 80 | border: 1px solid lightgray; 81 | height: 30px; 82 | padding: 10px 20px; 83 | border-radius: 999px; 84 | width: 75vw; 85 | margin: 0 auto; 86 | margin-top: 40px; 87 | max-width: 90%; 88 | } 89 | .search_buttons button { 90 | border: 1px solid lightgray; 91 | background-color: #ca2325; 92 | color: #fff; 93 | } 94 | .search_MicIcon { 95 | padding: 10px; 96 | visibility: hidden; 97 | } 98 | } -------------------------------------------------------------------------------- /src/SearchPage.css: -------------------------------------------------------------------------------- 1 | body { 2 | background-color: #ca2325; 3 | } 4 | .searchPage_header { 5 | display: flex; 6 | position: sticky; 7 | top: 0; 8 | background-color: #ca2325; 9 | z-index: 100; 10 | align-items: flex-start; 11 | padding: 10px; 12 | border-bottom: 1px solid lightgray; 13 | margin-left: 50px; 14 | } 15 | 16 | .searchPage_logo { 17 | object-fit: contain; 18 | height: 20px; 19 | margin-right: 50px; 20 | padding: 40px 40px; 21 | } 22 | 23 | .searchPage_options { 24 | display: flex; 25 | align-items: center; 26 | color: gray; 27 | } 28 | 29 | .searchPage_options a { 30 | color: gray; 31 | text-decoration: none; 32 | } 33 | 34 | .searchPage_option { 35 | display: flex; 36 | align-items: center; 37 | margin-right: 20px; 38 | } 39 | 40 | .searchPage_option a { 41 | margin-left: 5px; 42 | } 43 | .searchPage_optionsLeft { 44 | display: flex; 45 | } 46 | 47 | .searchPage_resultCount { 48 | color: #70757a; 49 | font-size: 14px; 50 | margin-bottom: 20px; 51 | } 52 | 53 | .searchpage_result { 54 | margin: 0 0; 55 | } 56 | 57 | .searchPage_results { 58 | max-width: 800px; 59 | margin-top: 20px; 60 | margin-left: 50px; 61 | margin-bottom: 100px; 62 | } 63 | 64 | .searchPage_results a { 65 | text-decoration: none; 66 | color: #fff; 67 | } 68 | .searchPage_results a:hover { 69 | text-decoration: underline; 70 | } 71 | 72 | .searchPage_results h2 { 73 | font-weight: 500; 74 | } 75 | 76 | .searchPage_snippet { 77 | margin-top: 10px; 78 | color: lightgray; 79 | } 80 | 81 | @media only screen and (max-width: 600px) { 82 | body { 83 | background-color: #ca2325; 84 | } 85 | .searchPage { 86 | overflow: hidden; 87 | } 88 | .searchPage_header { 89 | background-color: #ca2325; 90 | display: flex; 91 | position: sticky; 92 | top: 0; 93 | z-index: 100; 94 | align-items: flex-start; 95 | padding: 10px; 96 | border-bottom: 1px solid lightgray; 97 | margin-left: 10px; 98 | } 99 | 100 | .searchPage_options { 101 | display: flex; 102 | align-items: center; 103 | margin-right: 20px; 104 | } 105 | 106 | .searchPage_option a { 107 | margin: 5px; 108 | margin-left: 0; 109 | color: gray; 110 | padding: 0; 111 | } 112 | .searchPage_optionsLeft { 113 | display: flex; 114 | 115 | } 116 | 117 | .searchPage_optionsLeft::-webkit-scrollbar { 118 | width: 0; 119 | } 120 | .searchPage_results { 121 | max-width: 350px; 122 | margin-top: 20px; 123 | margin-left: 10px; 124 | margin-bottom: 100px; 125 | } 126 | .searchPage_headerbody > .search > .search_input{ 127 | padding: 0; 128 | margin: 0; 129 | margin-top: 10px; 130 | width: 55%; 131 | height: 10%; 132 | border: 1px solid #fff; 133 | } 134 | .searchPage_headerbody > .search > .search_input > .search_inputIcon { 135 | padding: 10px; 136 | } 137 | .searchPage_headerbody > .search > .search_input > .search_MicIcon { 138 | padding: 10px; 139 | } 140 | .searchPage_results a { 141 | text-decoration: none; 142 | font-size: 12px; 143 | color: #fff; 144 | } 145 | .searchPage_snippet { 146 | font-size: 12px; 147 | color: lightgray; 148 | margin-bottom: 10px; 149 | } 150 | .searchPage_resultCount { 151 | color: lightgray; 152 | } 153 | .searchPage_hide { 154 | visibility: hidden; 155 | } 156 | } -------------------------------------------------------------------------------- /src/SearchPage.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import "./SearchPage.css"; 3 | import { useStateValue } from "./StateProvider"; 4 | import useGoogleSearch from './useGoogleSearch'; 5 | // import Respose from "./response"; 6 | import { Link } from 'react-router-dom'; 7 | import Search from './Search'; 8 | import SearchIcon from '@mui/icons-material/Search'; 9 | import DescriptionIcon from '@mui/icons-material/Description'; 10 | import ImageIcon from '@mui/icons-material/Image'; 11 | import LocalOfferIcon from '@mui/icons-material/LocalOffer'; 12 | import RoomIcon from '@mui/icons-material/Room'; 13 | import MoreVertIcon from '@mui/icons-material/MoreVert'; 14 | 15 | function SearchPage() { 16 | const [{ term="tesla" }] = useStateValue(); 17 | const { data } = useGoogleSearch(term); 18 | // const data = Response; 19 | 20 | console.log(data); 21 | return ( 22 |
23 |
24 | {/* 25 |

Home

26 | */} 27 |
28 | 29 |
30 |
31 |
32 | 33 | All 34 |
35 |
36 | 37 | Images 38 |
39 |
40 | 41 | News 42 |
43 |
44 | 45 | Shopping 46 |
47 |
48 | 49 | Maps 50 |
51 |
52 | 53 | More 54 |
55 | 56 |
57 |
58 |
59 |
60 | {true && ( 61 |
62 |

63 | About {data?.searchInformation.formattedTotalResults} results in ({data?.searchInformation.formattedSearchTime} Seconds) for {term} 64 |

65 | {data?.items.map(item => ( 66 |
67 | 68 | {item.displayLink} 69 | 70 | 71 |

{item.title}

72 |
73 |

74 | {item.snippet} 75 |

76 |
77 | ))} 78 |
79 | )} 80 | 81 |
82 | ) 83 | } 84 | 85 | export default SearchPage 86 | -------------------------------------------------------------------------------- /src/response.js: -------------------------------------------------------------------------------- 1 | export default { 2 | "kind": "customsearch#search", 3 | "url": { 4 | "type": "application/json", 5 | "template": "https://www.googleapis.com/customsearch/v1?q={searchTerms}&num={count?}&start={startIndex?}&lr={language?}&safe={safe?}&cx={cx?}&sort={sort?}&filter={filter?}&gl={gl?}&cr={cr?}&googlehost={googleHost?}&c2coff={disableCnTwTranslation?}&hq={hq?}&hl={hl?}&siteSearch={siteSearch?}&siteSearchFilter={siteSearchFilter?}&exactTerms={exactTerms?}&excludeTerms={excludeTerms?}&linkSite={linkSite?}&orTerms={orTerms?}&relatedSite={relatedSite?}&dateRestrict={dateRestrict?}&lowRange={lowRange?}&highRange={highRange?}&searchType={searchType}&fileType={fileType?}&rights={rights?}&imgSize={imgSize?}&imgType={imgType?}&imgColorType={imgColorType?}&imgDominantColor={imgDominantColor?}&alt=json" 6 | }, 7 | "queries": { 8 | "request": [ 9 | { 10 | "title": "Google Custom Search - Apple", 11 | "totalResults": "6380000000", 12 | "searchTerms": "Apple", 13 | "count": 10, 14 | "startIndex": 1, 15 | "inputEncoding": "utf8", 16 | "outputEncoding": "utf8", 17 | "safe": "off", 18 | "cx": "72659482cdae166a9" 19 | } 20 | ], 21 | "nextPage": [ 22 | { 23 | "title": "Google Custom Search - Apple", 24 | "totalResults": "6380000000", 25 | "searchTerms": "Apple", 26 | "count": 10, 27 | "startIndex": 11, 28 | "inputEncoding": "utf8", 29 | "outputEncoding": "utf8", 30 | "safe": "off", 31 | "cx": "72659482cdae166a9" 32 | } 33 | ] 34 | }, 35 | "context": { 36 | "title": "Google" 37 | }, 38 | "searchInformation": { 39 | "searchTime": 0.538089, 40 | "formattedSearchTime": "0.54", 41 | "totalResults": "6380000000", 42 | "formattedTotalResults": "6,380,000,000" 43 | }, 44 | "items": [ 45 | { 46 | "kind": "customsearch#result", 47 | "title": "Apple", 48 | "htmlTitle": "\u003cb\u003eApple\u003c/b\u003e", 49 | "link": "https://www.apple.com/", 50 | "displayLink": "www.apple.com", 51 | "snippet": "Introducing the new MacBook Pro with M1 Pro or M1 Max, all‑new AirPods, and HomePod mini in five bold colors.", 52 | "htmlSnippet": "Introducing the new MacBook Pro with M1 Pro or M1 Max, all‑new AirPods, and HomePod mini in five bold colors.", 53 | "cacheId": "xEELJvdODswJ", 54 | "formattedUrl": "https://www.apple.com/", 55 | "htmlFormattedUrl": "https://www.\u003cb\u003eapple\u003c/b\u003e.com/", 56 | "pagemap": { 57 | "cse_thumbnail": [ 58 | { 59 | "src": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcS3FXTmbGhhVYBuhbY47TyPnaxOcRIiP3DCX4V_6ZgKR65gR84sxFGhi2U", 60 | "width": "310", 61 | "height": "163" 62 | } 63 | ], 64 | "metatags": [ 65 | { 66 | "analytics-s-bucket-1": "appleglobal,applestoreww", 67 | "og:image": "https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180743", 68 | "analytics-s-bucket-0": "appleglobal,applestoreww", 69 | "og:type": "website", 70 | "twitter:card": "summary_large_image", 71 | "og:site_name": "Apple", 72 | "og:title": "Apple", 73 | "ac-gn-store-key": "SFX9YPYY9PPXCU9KH", 74 | "og:description": "Introducing the new MacBook Pro with M1 Pro or M1 Max, all‑new AirPods, and HomePod mini in five bold colors.", 75 | "analytics-s-channel": "homepage", 76 | "twitter:site": "@Apple", 77 | "viewport": "width=device-width, initial-scale=1, viewport-fit=cover", 78 | "og:locale": "en_US", 79 | "og:url": "https://www.apple.com/", 80 | "analytics-track": "Apple - Index/Tab", 81 | "analytics-s-bucket-2": "appleglobal,applestoreww" 82 | } 83 | ], 84 | "cse_image": [ 85 | { 86 | "src": "https://www.apple.com/ac/structured-data/images/open_graph_logo.png?202110180743" 87 | } 88 | ] 89 | } 90 | }, 91 | { 92 | "kind": "customsearch#result", 93 | "title": "Official Apple Support", 94 | "htmlTitle": "Official \u003cb\u003eApple\u003c/b\u003e Support", 95 | "link": "https://support.apple.com/", 96 | "displayLink": "support.apple.com", 97 | "snippet": "Apple support is here to help. Learn more about popular topics and find resources that will help you with all of your Apple products.", 98 | "htmlSnippet": "\u003cb\u003eApple\u003c/b\u003e support is here to help. Learn more about popular topics and find resources that will help you with all of your \u003cb\u003eApple\u003c/b\u003e products.", 99 | "cacheId": "n8Ff-cRc6J0J", 100 | "formattedUrl": "https://support.apple.com/", 101 | "htmlFormattedUrl": "https://support.\u003cb\u003eapple\u003c/b\u003e.com/", 102 | "pagemap": { 103 | "cse_thumbnail": [ 104 | { 105 | "src": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcSvCUix_tQXsnvYecmCj7vXA-p-APtfZm0uLr4Tl_aQuugEgLHdvkWS4eU", 106 | "width": "410", 107 | "height": "123" 108 | } 109 | ], 110 | "BreadcrumbList": [ 111 | {} 112 | ], 113 | "metatags": [ 114 | { 115 | "apple-itunes-app": "app-id=1130498044,affiliate-data=ct=support.home&pt=2003", 116 | "ac-gn-store-key": "S2A49YFKJF2JAT22K", 117 | "analytics:s-pagename": "acs::web::home::home::landing (en_US)", 118 | "ac-gn-search-field[locale]": "en_US", 119 | "ac-gn-search-input": "q", 120 | "analytics:s-account": "appleglobal,applesupport", 121 | "ac-gn-search-action": "https://support.apple.com/kb/index", 122 | "analytics:s-pagetype": "home", 123 | "viewport": "width=device-width, initial-scale=1, viewport-fit=cover", 124 | "ac-gn-search-field[src]": "globalnav_support", 125 | "securematrixurl": "https://supportmetrics.apple.com/content/services/stats", 126 | "ac-gn-search-field[type]": "organic", 127 | "position": "1", 128 | "analytics:s-channel": "www.us.support", 129 | "ac-gn-search-field[page]": "search" 130 | } 131 | ], 132 | "cse_image": [ 133 | { 134 | "src": "https://support.apple.com/content/dam/edam/applecare/images/en_US/homepage/psp-hero-banner-homepage-welcome.image.large_2x.jpg" 135 | } 136 | ] 137 | } 138 | }, 139 | { 140 | "kind": "customsearch#result", 141 | "title": "iPhone - Apple", 142 | "htmlTitle": "iPhone - \u003cb\u003eApple\u003c/b\u003e", 143 | "link": "https://www.apple.com/iphone/", 144 | "displayLink": "www.apple.com", 145 | "snippet": "Ways to Buy iPhone. Special carrier deals at Apple. Save up to $800 on the newest iPhone after trade‑in.", 146 | "htmlSnippet": "Ways to Buy iPhone. Special carrier deals at \u003cb\u003eApple\u003c/b\u003e. Save up to $800 on the newest iPhone after trade‑in.", 147 | "cacheId": "JIjFa1byZv4J", 148 | "formattedUrl": "https://www.apple.com/iphone/", 149 | "htmlFormattedUrl": "https://www.\u003cb\u003eapple\u003c/b\u003e.com/iphone/", 150 | "pagemap": { 151 | "cse_thumbnail": [ 152 | { 153 | "src": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT0nmGssWUCxwlCHK1DNXAm6CNwTWc9ID307tjEAH6H7Vw0lD-fuMhfHBw", 154 | "width": "310", 155 | "height": "163" 156 | } 157 | ], 158 | "BreadcrumbList": [ 159 | {} 160 | ], 161 | "metatags": [ 162 | { 163 | "analytics-s-bucket-1": "appleglobal,applestoreww", 164 | "og:image": "https://www.apple.com/v/iphone/home/bc/images/meta/iphone__btp62hy2cbea_og.png?202110141614", 165 | "analytics-s-bucket-0": "appleglobal,applestoreww", 166 | "og:type": "website", 167 | "twitter:card": "summary_large_image", 168 | "og:site_name": "Apple", 169 | "al:ios:app_name": "Apple Store", 170 | "og:title": "iPhone", 171 | "ac-gn-store-key": "SFX9YPYY9PPXCU9KH", 172 | "al:ios:url": "https://www.apple.com/us/xc/iphone?cid=AOS_ASA", 173 | "og:description": "Explore iPhone, the world’s most powerful personal device. Check out iPhone 13 Pro, iPhone 13 Pro Max, iPhone 13, iPhone 13 mini, and iPhone SE.", 174 | "al:ios:app_store_id": "375380948", 175 | "analytics-s-channel": "iphone.tab+other", 176 | "twitter:site": "@Apple", 177 | "viewport": "width=device-width, initial-scale=1, viewport-fit=cover", 178 | "og:locale": "en_US", 179 | "position": "1", 180 | "og:url": "https://www.apple.com/iphone/", 181 | "analytics-track": "iphone - index/tab", 182 | "analytics-s-bucket-2": "appleglobal,applestoreww" 183 | } 184 | ], 185 | "cse_image": [ 186 | { 187 | "src": "https://www.apple.com/v/iphone/home/bc/images/meta/iphone__btp62hy2cbea_og.png?202110141614" 188 | } 189 | ] 190 | } 191 | }, 192 | { 193 | "kind": "customsearch#result", 194 | "title": "Apple Developer", 195 | "htmlTitle": "\u003cb\u003eApple\u003c/b\u003e Developer", 196 | "link": "https://developer.apple.com/", 197 | "displayLink": "developer.apple.com", 198 | "snippet": "There's never been a better time to develop for Apple platforms.", 199 | "htmlSnippet": "There's never been a better time to develop for \u003cb\u003eApple\u003c/b\u003e platforms.", 200 | "cacheId": "4_qFJakwvtAJ", 201 | "formattedUrl": "https://developer.apple.com/", 202 | "htmlFormattedUrl": "https://developer.\u003cb\u003eapple\u003c/b\u003e.com/", 203 | "pagemap": { 204 | "cse_thumbnail": [ 205 | { 206 | "src": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRTJwnjQZNysaKGFoVFWjsmSuS_8qjwR_ZkEXwuJdx7qwg98cewBtwDeVo", 207 | "width": "310", 208 | "height": "163" 209 | } 210 | ], 211 | "metatags": [ 212 | { 213 | "omni_page": "Apple Developer - (English)", 214 | "og:image": "https://developer.apple.com/news/images/og/apple-developer-og.png", 215 | "og:type": "website", 216 | "twitter:card": "summary_large_image", 217 | "twitter:title": "Apple Developer", 218 | "og:site_name": "Apple Developer", 219 | "twitter:url": "https://developer.apple.com/", 220 | "author": "Apple Inc.", 221 | "og:title": "Apple Developer", 222 | "og:description": "There’s never been a better time to develop for Apple platforms.", 223 | "twitter:image": "https://developer.apple.com/news/images/og/apple-developer-og-twitter.png", 224 | "viewport": "width=device-width, initial-scale=1, viewport-fit=cover", 225 | "twitter:description": "There’s never been a better time to develop for Apple platforms.", 226 | "og:locale": "en_US", 227 | "og:url": "https://developer.apple.com/" 228 | } 229 | ], 230 | "cse_image": [ 231 | { 232 | "src": "https://developer.apple.com/news/images/og/apple-developer-og.png" 233 | } 234 | ] 235 | } 236 | }, 237 | { 238 | "kind": "customsearch#result", 239 | "title": "Watch - Apple", 240 | "htmlTitle": "Watch - \u003cb\u003eApple\u003c/b\u003e", 241 | "link": "https://www.apple.com/watch/", 242 | "displayLink": "www.apple.com", 243 | "snippet": "Apple Watch Series 3 · 42mm or 38mm. Swimproof · Retina display · High and low heart rate notifications. Irregular heart rhythm notification · Emergency SOS.", 244 | "htmlSnippet": "\u003cb\u003eApple\u003c/b\u003e Watch Series 3 · 42mm or 38mm. Swimproof · Retina display · High and low heart rate notifications. Irregular heart rhythm notification · Emergency SOS.", 245 | "cacheId": "725XSlUCc6kJ", 246 | "formattedUrl": "https://www.apple.com/watch/", 247 | "htmlFormattedUrl": "https://www.\u003cb\u003eapple\u003c/b\u003e.com/watch/", 248 | "pagemap": { 249 | "cse_thumbnail": [ 250 | { 251 | "src": "https://encrypted-tbn2.gstatic.com/images?q=tbn:ANd9GcQyArOzpQ4MGB3W3ZjC_56CVGyHUtzxySvkq6li7EbQGi2ibGycew2TcQ", 252 | "width": "150", 253 | "height": "79" 254 | } 255 | ], 256 | "BreadcrumbList": [ 257 | {} 258 | ], 259 | "metatags": [ 260 | { 261 | "analytics-s-bucket-1": "appleglobal,applestoreww", 262 | "og:image": "https://www.apple.com/v/watch/ap/images/meta/gps-lte/og__n5qzveqr596m.png?202110141614", 263 | "analytics-s-bucket-0": "appleglobal,applestoreww", 264 | "og:type": "website", 265 | "twitter:card": "summary_large_image", 266 | "og:site_name": "Apple", 267 | "al:ios:app_name": "Apple Store", 268 | "og:title": "Watch", 269 | "ac-gn-store-key": "SFX9YPYY9PPXCU9KH", 270 | "al:ios:url": "https://www.apple.com/us/xc/watch?cid=AOS_ASA", 271 | "og:description": "Apple Watch is the ultimate device for a healthy life. Available in three models: Apple Watch Series 7, Apple Watch SE, and Apple Watch Series 3.", 272 | "al:ios:app_store_id": "375380948", 273 | "analytics-s-channel": "applewatch.tab+other", 274 | "twitter:site": "@Apple", 275 | "viewport": "width=device-width, initial-scale=1, viewport-fit=cover", 276 | "ac:pricing-alias": "series-3-gps=W17_AL_SI_SP_WH_G", 277 | "og:locale": "en_US", 278 | "ac:tradein-alias": "watch-tradein=7877", 279 | "position": "1", 280 | "og:url": "https://www.apple.com/watch/", 281 | "analytics-track": "watch - index/tab", 282 | "analytics-s-bucket-2": "appleglobal,applestoreww" 283 | } 284 | ], 285 | "cse_image": [ 286 | { 287 | "src": "https://www.apple.com/v/watch/ap/images/meta/gps-lte/og__n5qzveqr596m.png?202110141614" 288 | } 289 | ] 290 | } 291 | }, 292 | { 293 | "kind": "customsearch#result", 294 | "title": "Apple Inc. - Wikipedia", 295 | "htmlTitle": "\u003cb\u003eApple\u003c/b\u003e Inc. - Wikipedia", 296 | "link": "https://en.wikipedia.org/wiki/Apple_Inc.", 297 | "displayLink": "en.wikipedia.org", 298 | "snippet": "Apple Inc. is an American multinational technology company that specializes in consumer electronics, computer software, and online services. Apple is the ...", 299 | "htmlSnippet": "\u003cb\u003eApple\u003c/b\u003e Inc. is an American multinational technology company that specializes in consumer electronics, computer software, and online services. \u003cb\u003eApple\u003c/b\u003e is the ...", 300 | "formattedUrl": "https://en.wikipedia.org/wiki/Apple_Inc.", 301 | "htmlFormattedUrl": "https://en.wikipedia.org/wiki/\u003cb\u003eApple\u003c/b\u003e_Inc.", 302 | "pagemap": { 303 | "hcard": [ 304 | { 305 | "url_text": "www.apple.com", 306 | "bday": "1976-04-01", 307 | "fn": "Apple Inc.", 308 | "nickname": "Apple Computer Company[1] (1976–1977) Apple Computer, Inc.[2] (1977–2007)", 309 | "logo": "Overhead view of Apple Park located in Cupertino, California", 310 | "label": "1 Apple Park Way Cupertino, California, U.S.", 311 | "category": "Public", 312 | "url": "www.apple.com" 313 | } 314 | ], 315 | "cse_thumbnail": [ 316 | { 317 | "src": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRRS_kAtLrHahJejVIzi0Uesg4N-a1qxKcERoZ_6sxDMavhB7o5zsoGPeI", 318 | "width": "300", 319 | "height": "168" 320 | } 321 | ], 322 | "metatags": [ 323 | { 324 | "referrer": "origin", 325 | "og:image": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Apple_park_cupertino_2019.jpg/1200px-Apple_park_cupertino_2019.jpg", 326 | "og:type": "website", 327 | "og:title": "Apple Inc. - Wikipedia", 328 | "format-detection": "telephone=no" 329 | } 330 | ], 331 | "cse_image": [ 332 | { 333 | "src": "https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Apple_park_cupertino_2019.jpg/1200px-Apple_park_cupertino_2019.jpg" 334 | } 335 | ] 336 | } 337 | }, 338 | { 339 | "kind": "customsearch#result", 340 | "title": "Mac - Apple", 341 | "htmlTitle": "Mac - \u003cb\u003eApple\u003c/b\u003e", 342 | "link": "https://www.apple.com/mac/", 343 | "displayLink": "www.apple.com", 344 | "snippet": "Explore the world of Mac. Check out the all-new MacBook Pro, MacBook Air, iMac, Mac mini, and more.", 345 | "htmlSnippet": "Explore the world of Mac. Check out the all-new MacBook Pro, MacBook Air, iMac, Mac mini, and more.", 346 | "cacheId": "1LaqRtmy_UwJ", 347 | "formattedUrl": "https://www.apple.com/mac/", 348 | "htmlFormattedUrl": "https://www.\u003cb\u003eapple\u003c/b\u003e.com/mac/", 349 | "pagemap": { 350 | "cse_thumbnail": [ 351 | { 352 | "src": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTEjPABsrDWVyocDmrXZynjCwnzS3rgo1Z1PeBC4Dje9txghCr7wQg_-1Y", 353 | "width": "150", 354 | "height": "79" 355 | } 356 | ], 357 | "BreadcrumbList": [ 358 | {} 359 | ], 360 | "metatags": [ 361 | { 362 | "analytics-s-bucket-1": "appleglobal,applestoreww", 363 | "og:image": "https://www.apple.com/v/mac/home/bj/images/meta/mac__bfa414svyuc2_og.png?202110141614", 364 | "analytics-s-bucket-0": "appleglobal,applestoreww", 365 | "og:type": "website", 366 | "twitter:card": "summary_large_image", 367 | "og:site_name": "Apple", 368 | "al:ios:app_name": "Apple Store", 369 | "og:title": "Mac", 370 | "ac-gn-store-key": "SFX9YPYY9PPXCU9KH", 371 | "al:ios:url": "https://www.apple.com/us/xc/mac?cid=AOS_ASA", 372 | "og:description": "Explore the world of Mac. Check out the all-new MacBook Pro, MacBook Air, iMac, Mac mini, and more.", 373 | "al:ios:app_store_id": "375380948", 374 | "analytics-s-channel": "mac.tab+other", 375 | "twitter:site": "@Apple", 376 | "viewport": "width=device-width, initial-scale=1, viewport-fit=cover", 377 | "ac:pricing-alias": "macbook-air=MACBOOKAIR2020_MAIN", 378 | "og:locale": "en_US", 379 | "position": "1", 380 | "og:url": "https://www.apple.com/mac/", 381 | "analytics-track": "mac - index/tab", 382 | "analytics-s-bucket-2": "appleglobal,applestoreww" 383 | } 384 | ], 385 | "cse_image": [ 386 | { 387 | "src": "https://www.apple.com/v/mac/home/bj/images/meta/mac__bfa414svyuc2_og.png?202110141614" 388 | } 389 | ] 390 | } 391 | }, 392 | { 393 | "kind": "customsearch#result", 394 | "title": "United States - Jobs - Careers at Apple", 395 | "htmlTitle": "United States - Jobs - Careers at \u003cb\u003eApple\u003c/b\u003e", 396 | "link": "https://jobs.apple.com/en-us/search?location=united-states-USA", 397 | "displayLink": "jobs.apple.com", 398 | "snippet": "Results 1 - 20 of 4713 ... Explore all United States jobs at Apple. Create a profile and apply today.", 399 | "htmlSnippet": "Results 1 - 20 of 4713 \u003cb\u003e...\u003c/b\u003e Explore all United States jobs at \u003cb\u003eApple\u003c/b\u003e. Create a profile and apply today.", 400 | "cacheId": "T7LQSOJ_twUJ", 401 | "formattedUrl": "https://jobs.apple.com/en-us/search?location=united-states-USA", 402 | "htmlFormattedUrl": "https://jobs.\u003cb\u003eapple\u003c/b\u003e.com/en-us/search?location=united-states-USA", 403 | "pagemap": { 404 | "cse_thumbnail": [ 405 | { 406 | "src": "https://encrypted-tbn1.gstatic.com/images?q=tbn:ANd9GcTVqJlERhCUoV_zCiPKjUNYb_F4IpJFFAvPIWg2Vh87GRSQQLYMxK0dHyc", 407 | "width": "245", 408 | "height": "205" 409 | } 410 | ], 411 | "BreadcrumbList": [ 412 | {} 413 | ], 414 | "metatags": [ 415 | { 416 | "og:image": "https://jobs.apple.com/static/images/og/en-us/default.jpg", 417 | "og:type": "website", 418 | "viewport": "width=device-width, initial-scale=1, maximum-scale=1", 419 | "og:title": "United States - Jobs - Careers at Apple", 420 | "position": "1", 421 | "og:url": "https://jobs.apple.com/en-us/search?location=united-states-USA", 422 | "og:description": "Explore all United States jobs at Apple. Create a profile and apply today." 423 | } 424 | ], 425 | "cse_image": [ 426 | { 427 | "src": "https://jobs.apple.com/static/images/og/en-us/default.jpg" 428 | } 429 | ] 430 | } 431 | }, 432 | { 433 | "kind": "customsearch#result", 434 | "title": "Apple Beta Software Program", 435 | "htmlTitle": "\u003cb\u003eApple\u003c/b\u003e Beta Software Program", 436 | "link": "https://beta.apple.com/", 437 | "displayLink": "beta.apple.com", 438 | "snippet": "the Apple Beta Software Program? Read FAQs. Apple Developer Program. Looking to build the next generation of amazing apps and test them on the developer ...", 439 | "htmlSnippet": "the \u003cb\u003eApple\u003c/b\u003e Beta Software Program? Read FAQs. \u003cb\u003eApple\u003c/b\u003e Developer Program. Looking to build the next generation of amazing apps and test them on the developer ...", 440 | "cacheId": "HbIwCPtIKGsJ", 441 | "formattedUrl": "https://beta.apple.com/", 442 | "htmlFormattedUrl": "https://beta.\u003cb\u003eapple\u003c/b\u003e.com/", 443 | "pagemap": { 444 | "metatags": [ 445 | { 446 | "viewport": "width=device-width, initial-scale=1, viewport-fit=cover" 447 | } 448 | ] 449 | } 450 | }, 451 | { 452 | "kind": "customsearch#result", 453 | "title": "Apple (@Apple) | Twitter", 454 | "htmlTitle": "\u003cb\u003eApple\u003c/b\u003e (@\u003cb\u003eApple\u003c/b\u003e) | Twitter", 455 | "link": "https://twitter.com/apple", 456 | "displayLink": "twitter.com", 457 | "snippet": "The latest Tweets from Apple (@Apple). https://t.co/jw2s2L0RLt. Cupertino, CA.", 458 | "htmlSnippet": "The latest Tweets from \u003cb\u003eApple\u003c/b\u003e (@\u003cb\u003eApple\u003c/b\u003e). https://t.co/jw2s2L0RLt. Cupertino, CA.", 459 | "cacheId": "6zBrVcymegkJ", 460 | "formattedUrl": "https://twitter.com/apple", 461 | "htmlFormattedUrl": "https://twitter.com/\u003cb\u003eapple\u003c/b\u003e", 462 | "pagemap": { 463 | "cse_thumbnail": [ 464 | { 465 | "src": "https://encrypted-tbn3.gstatic.com/images?q=tbn:ANd9GcSOrBho8224eRDJZHWrCLYaLWGwV22oGYbM-B5hS-CduE4-K4Qvxlm5h54", 466 | "width": "225", 467 | "height": "225" 468 | } 469 | ], 470 | "metatags": [ 471 | { 472 | "msapplication-tilecolor": "#00aced", 473 | "al:android:url": "twitter://user?screen_name=Apple", 474 | "al:ios:app_name": "Twitter", 475 | "swift-page-section": "profile", 476 | "al:android:package": "com.twitter.android", 477 | "swift-page-name": "profile", 478 | "msapplication-tileimage": "//abs.twimg.com/favicons/win8-tile-144.png", 479 | "al:ios:url": "twitter://user?screen_name=Apple", 480 | "al:ios:app_store_id": "333903271", 481 | "al:android:app_name": "Twitter", 482 | "facebook-domain-verification": "moho2ug7zs57jijiywrewd8wb5a08h" 483 | } 484 | ], 485 | "cse_image": [ 486 | { 487 | "src": "https://pbs.twimg.com/profile_images/1283958620359516160/p7zz5dxZ_400x400.jpg" 488 | } 489 | ] 490 | } 491 | } 492 | ] 493 | } 494 | 495 | --------------------------------------------------------------------------------